مۆدیوول:Citation/lang
ڕواڵەت
بەڵگەدارکردنی مۆدیوول[دروست بکە]
لەوانەیە بتەوێ پەڕەیەکی بەڵگەدارکردن بۆ ئەم مۆدیوولی سکریبونتۆیە دروست بکەی. دەستکاریکەران دەتوانن ئەم مۆدیوولە لە پەڕەکانی خۆڵەپەتانێ (دروست بکە | ئاوێنە) و ئەزموون (دروست بکە) تاقی بکەنەوە. تکایە پۆلەکان بە ژێرپەڕەی /doc زیاد بکە. ژێرپەڕەکانی ئەم مۆدیوول. |
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