پرش به محتوا

پودمان:ConvertDigit

از سورسکال

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

-- 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 fa_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 _reversed(input)
	-- Callable from another module.
	input = input or ''
	return (mw.ustring.gsub(input, '[۰۱۲۳۴۵۶۷۸۹]', fa_digits))
end

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

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

return { main = main, _main = _main, reversed = reversed, _reversed = _reversed }