مۆدیوول:Citation/lang

Permanently protected مۆدیوول
لە ئینسایکڵۆپیدیای ئازادی ویکیپیدیاوە
بەڵگەدارکردنی مۆدیوول[دروست بکە]
local p = {}
local types = {
	["book_en"] = 'book',
	["book_ckb"] = 'کتێب',
	["web_en"] = 'web',
	["web_ckb"] = 'وێب',
	["cite_en"] = 'Citation',
	["cite_ckb"] = 'بیرخستنەوە/ناوکی مۆدیوول',
	["journal_en"] = 'journal',
	["journal_ckb"] = 'جورنال',
	["encyclopedia_en"] = 'encyclopedia',
	["encyclopedia_ckb"] = 'ئینسایکڵۆپیدیا',
	["podcast_en"] = 'podcast',
	["podcast_ckb"] = 'پۆدکات',
	["news_en"] = 'news',
	["news_ckb"] = 'ھەواڵ',
	["magazine_en"] = 'magazine',
	["magazine_ckb"] = 'گۆڤار',
	["interview_en"] = 'interview',
	["interview_ckb"] = 'چاوپێکەوتن',
	["arxiv_en"] = 'arXiv',
	["arxiv_ckb"] = 'ئەرکایڤ',
	["av_en"] = 'AV media',
	["av_ckb"] = 'Media notes',
	["conference_en"] = 'conference',
	["conference_ckb"] = 'کۆنفڕانس',
	["map_en"] = 'map',
	["map_ckb"] = 'نەخشە',
};

function getlangcode(lang)					-- get the code of the language if full language name is given
	if 3 < lang:len() then
		local languages = mw.loadData('مۆدیوول:Citation/lang/data/ISO 639-1')
		local langCode = languages[lang]
		if langCode ~= nil then	return langCode[1]	end
	else 
		return lang
	end
end

--[[
function p.testlang(frame)
	return getlangcode(frame.args['lang'])
end
]]

--[[
returns the citation template name based on the {{{lang}}} parameter
--]]
function p.is_rtl(frame)
	cite_type = frame.args['type'];							-- type of the citation template (book, web, etc.)
	lang = mw.ustring.lower(frame.args['lang'])				-- language code
	lang_code = getlangcode(lang)
	local rtl_langs = { ['ckb'] =true, ['ckb-IR'] =true, ['ar'] =true, ['ur'] =true, ['he'] =true, }
	if lang_code == "" or lang_code == nil or rtl_langs[lang_code] then
		if cite_type == "cite" then
			return types["cite_ckb"]
		else
			return "بیرخستنەوەی "..types[cite_type.."_ckb"].."/ناوک"
		end
	else
		if cite_type == "cite" then
			return types["cite_en"]
		else
			return "Cite "..types[cite_type.."_en"]
		end
	end
end
--[[
returns the citation template name based on the characters in title
--
function p.is_rtl2(frame)
	cite_type = frame.args['type'];							-- type of the citation template (book, web, etc.)
	Title = frame.args['title']
	if Title:match("[ابپتسجچحخدذرزژسشصضطظعغفقکگلمنوهی۱۲۳۴۵۶۷۸۹۰]+") then		--اگر کاراکترهای فارسی داشت
		if cite_type == "cite" then
			return types["cite_ckb"]
		else
			return "بیرخستنەوەی "..types[cite_type.."_ckb"].."/ناوک"
		end
	else
		if cite_type == "cite" then
			return types["cite_en"]
		else
			return "Cite "..types[cite_type.."_en"]
		end
	end
end
]]

return p