پرش به محتوا

پودمان:نام انگلیسی کشور/تمرین

از ویکی‌پدیا، دانشنامهٔ آزاد
توضیحات پودمان[نمایش] [ویرایش] [تاریخچه] [پاکسازی]

این پودمان الگوی {{نام انگلیسی کشور}} را پیاده‌سازی می‌کند.

require('strict')

local p = {}

local yesno = require('Module:Yesno')
local num_convert = require('Module:Numeral converter').convert

function p.get_data(country, year)
	local data
	local error = false
	local data_table = require('پودمان:نام انگلیسی کشور/داده‌ها')
	if country and country ~= '' then
		if type(data_table[country]) ~= 'table' then
			data = mw.ustring.format(data_table['no data'], country)
			error = true
		else
			if (year and year ~= '' and year ~= nil) then
				data = data_table[country][num_convert('en', year)]
			else
				data = data_table[country]['current name']
			end
		end
	else
		data =  data_table['no input']
		error = true
	end
	return data, error
end

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {valueFunc =
		function(key, value)
			if value then
				value = mw.text.trim(value)
			end
			return value
		end
	})
	local result, error = p.get_data(args[1], args[2] or nil)
	if error then
		result = '<span class="error">' .. result .. '</span>'
	else
		if args['پیوند'] and yesno(args['پیوند']) then
			result = '[[' .. args[1] .. '|' .. result .. ']]'
		end
	end
	return tostring(result)
end

return p