মডিউল:বিশ্ব প্রসঙ্গ
অবয়ব
local p = {}
local Navbox = require("Module:Navbox")
local country = {
["ইথিওপিয়ায়"] = {""},
["আজারবাইজানে"] = {""},
["জর্ডানে"] = {""},
["আর্জেন্টিনায়"] = {""},
["আর্মেনিয়ায়"] = {""},
["ইরিত্রিয়ায়"] = {""},
["স্পেনে"] = {""},
["অস্ট্রেলিয়ায়"] = {""},
["এস্তোনিয়ায়"] = {""},
["ইসরায়েলে"] = {""},
["মধ্য আফ্রিকান প্রজাতন্ত্রে"] = {""},
["আফগানিস্তানে"] = {""},
["আলবেনিয়ায়"] = {""},
["জার্মানিতে"] = {""},
["ইকুয়েডরে"] = {""},
["সংযুক্ত আরব আমিরাতে"] = {""},
["অ্যান্টিগুয়া ও বার্বুডায়"] = {""},
["অ্যান্ডোরায়"] = {""},
["ইন্দোনেশিয়ায়"] = {""},
["অ্যাঙ্গোলায়"] = {""},
["উরুগুয়েতে"] = {""},
["উজবেকিস্তানে"] = {""},
["উগান্ডায়"] = {""},
["ইউক্রেনে"] = {""},
["ইরানে"] = {""},
["আয়ারল্যান্ডে"] = {""},
["আইসল্যান্ডে"] = {""},
["ইতালিতে"] = {""},
["পাপুয়া নিউ গিনিতে"] = {""},
["প্যারাগুয়েতে"] = {""},
["বার্বাডোসে"] = {""},
["পাকিস্তানে"] = {""},
["পালাওতে"] = {""},
["বাহামায়"] = {""},
["বতসোয়ানায়"] = {""},
["বাহরাইনে"] = {""},
["ব্রাজিলে"] = {""},
["পর্তুগালে"] = {""},
["ব্রুনাইয়ে"] = {""},
["বেলজিয়ামে"] = {""},
["বুলগেরিয়ায়"] = {""},
["বেলিজে"] = {""},
["বাংলাদেশে"] = {""},
["পানামায়"] = {""},
["বেনিনে"] = {""},
["ভুটানে"] = {""},
["বুরকিনা ফাসোতে"] = {""},
["মিয়ানমারে"] = {""},
["বুরুন্ডিতে"] = {""},
["বসনিয়া ও হার্জেগোভিনায়"] = {""},
["পোল্যান্ডে"] = {""},
["বলিভিয়ায়"] = {""},
["পেরুতে"] = {""},
["বেলারুশে"] = {""},
["থাইল্যান্ডে"] = {""},
["তাইওয়ানে"] = {""},
["তুরস্কে"] = {""},
["তুর্কমেনিস্তানে"] = {""},
["ত্রিনিদাদ ও টোবাগোতে"] = {""},
["চাদে"] = {""},
["চেক প্রজাতন্ত্রে"] = {""},
["চিলিতে"] = {""},
["তাঞ্জানিয়ায়"] = {""},
["টোঙ্গায়"] = {""},
["টিউনিশিয়ায়"] = {""},
["পূর্ব তিমুরে"] = {""},
["গ্যাবনে"] = {""},
["জ্যামাইকায়"] = {""},
["মন্টেনেগ্রোতে"] = {""},
["গ্রেনাডায়"] = {""},
["গ্রিনল্যান্ডে"] = {""},
["আলজেরিয়ায়"] = {""},
["সলোমন দ্বীপপুঞ্জে"] = {""},
["কমোরোসে"] = {""},
["মার্শাল দ্বীপপুঞ্জে"] = {""},
["মালদ্বীপে"] = {""},
["দক্ষিণ আফ্রিকায়"] = {""},
["দক্ষিণ সুদানে"] = {""},
["গুয়াতেমালায়"] = {""},
["জর্জিয়ায়"] = {""},
["জিবুতিতে"] = {""},
["ডেনমার্কে"] = {""},
["ডোমিনিকায়"] = {""},
["ডোমিনিকান প্রজাতন্ত্রে"] = {""},
["কেপ ভার্দেতে"] = {""},
["রুয়ান্ডায়"] = {""},
["রাশিয়ায়"] = {""},
["রোমানিয়ায়"] = {""},
["জাম্বিয়ায়"] = {""},
["জিম্বাবুয়েতে"] = {""},
["আইভরি কোস্টে"] = {""},
["সামোয়ায়"] = {""},
["সেন্ট ভিনসেন্ট ও গ্রেনাডাইনসে"] = {""},
["সেন্ট কিটস ও নেভিসে"] = {""},
["সেন্ট লুসিয়ায়"] = {""},
["সান মারিনোতে"] = {""},
["সাও টোমে ও প্রিন্সিপিতে"] = {""},
["শ্রীলঙ্কায়"] = {""},
["সৌদি আরবে"] = {""},
["এল সালভাদরে"] = {""},
["স্লোভাকিয়ায়"] = {""},
["স্লোভেনিয়ায়"] = {""},
["সিঙ্গাপুরে"] = {""},
["সেনেগালে"] = {""},
["ইসওয়াতিনিতে"] = {""},
["সুদানে"] = {""},
["সিরিয়ায়"] = {""},
["সুরিনামে"] = {""},
["সুইডেনে"] = {""},
["সুইজারল্যান্ডে"] = {""},
["সিয়েরা লিওনে"] = {""},
["সেশেলসে"] = {""},
["সার্বিয়ায়"] = {""},
["সোমালিয়ায়"] = {""},
["চীনে"] = {""},
["তাজিকিস্তানে"] = {""},
["ইরাকে"] = {""},
["ওমানে"] = {""},
["গাম্বিয়ায়"] = {""},
["ঘানায়"] = {""},
["গিয়ানায়"] = {""},
["গিনিতে"] = {""},
["ইকুয়েটোরিয়াল গিনিতে"] = {""},
["গিনি বিসাউতে"] = {""},
["ভ্যাটিকান সিটিতে"] = {""},
["ভানুয়াতুতে"] = {""},
["ফ্রান্সে"] = {""},
["ফিলিপাইনে"] = {""},
["প্যালেস্টাইনে"] = {""},
["ভেনিজুয়েলায়"] = {""},
["ফিনল্যান্ডে"] = {""},
["ভিয়েতনামে"] = {""},
["ফিজিতে"] = {""},
["সাইপ্রাসে"] = {""},
["কিরগিজস্তানে"] = {""},
["কাতারে"] = {""},
["কাজাখস্তানে"] = {""},
["কসোভোতে"] = {""},
["ক্যামেরুনে"] = {""},
["ক্রোয়েশিয়ায়"] = {""},
["কম্বোডিয়ায়"] = {""},
["কানাডায়"] = {""},
["কিউবায়"] = {""},
["উত্তর কোরিয়ায়"] = {""},
["দক্ষিণ কোরিয়ায়"] = {""},
["কোস্টারিকায়"] = {""},
["কলোম্বিয়ায়"] = {""},
["কঙ্গো প্রজাতন্ত্রে"] = {""},
["গণতান্ত্রিক কঙ্গো প্রজাতন্ত্রে"] = {""},
["কুয়েতে"] = {""},
["কিরিবাতিতে"] = {""},
["কেনিয়ায়"] = {""},
["লাটভিয়ায়"] = {""},
["লাওসে"] = {""},
["লেবাননে"] = {""},
["লুক্সেমবার্গে"] = {""},
["লাইবেরিয়ায়"] = {""},
["লেসোথোতে"] = {""},
["লিথুয়ানিয়ায়"] = {""},
["লিচেনস্টেইনে"] = {""},
["লিবিয়ায়"] = {""},
["মাদাগাস্কারে"] = {""},
["মালাউইতে"] = {""},
["মালয়েশিয়ায়"] = {""},
["মালিতে"] = {""},
["মেক্সিকোতে"] = {""},
["মিসরে"] = {""},
["মোনাকোতে"] = {""},
["মঙ্গোলিয়ায়"] = {""},
["মরক্কোতে"] = {""},
["মোলদোভায়"] = {""},
["মাল্টায়"] = {""},
["মোজাম্বিকে"] = {""},
["মরিশাসে"] = {""},
["মরিটানিয়ায়"] = {""},
["মেসিডোনিয়ায়"] = {""},
["মাইক্রোনেশিয়ায়"] = {""},
["নামিবিয়ায়"] = {""},
["নাউরুতে"] = {""},
["নেপালে"] = {""},
["নিকারাগুয়ায়"] = {""},
["নিউজিল্যান্ডে"] = {""},
["নাইজারে"] = {""},
["নাইজেরিয়ায়"] = {""},
["নরওয়েতে"] = {""},
["নেদারল্যান্ডসে"] = {""},
["নিউয়ে"] = {""},
["হাইতিতে"] = {""},
["হাঙ্গেরিতে"] = {""},
["ভারতে"] = {""},
["ভিয়েতনামে"] = {""},
}
local function li(text)
local li = mw.html.create("li")
li
:wikitext(text)
:done()
return tostring(li)
end
local function linktarget(x, y)
if y ~= nil and y == "" then
return x
else
return y
end
end
local function links(args1, args2, argsprefix, argssuffix, sorter, redlinks, override)
local list = {}
local prefix = (args2 or argsprefix or "") .. " "
local suffix = args1 or argssuffix or ""
for x, y in pairs(sorter) do
local target = nil
if redlinks then
if override[y] then
target = override[y]
elseif y == "Georgia" or y == "Palestine" then
if mw.title.new(prefix..country[y][1].. " " ..suffix).exists then
target = prefix..country[y][1].. " " ..suffix
else
target = prefix..y.. " " ..suffix
end
else
target = prefix..linktarget(y, country[y][1]).. " " ..suffix
end
else -- noredlinks
if override[y] then
if mw.title.new(override[y]).exists then
target = override[y]
end
elseif mw.title.new(prefix..linktarget(y, country[y][1]).. " " ..suffix).exists then
target = prefix..linktarget(y, country[y][1]).. " " ..suffix
elseif y == "Georgia" or y == "Palestine" then
if mw.title.new(prefix..y.. " " ..suffix).exists then
target = prefix..y.. " " ..suffix
end
end
end
if target then
table.insert(list, li("[["..target.."|"..y.."]]" ) )
end
end
return list
end
function p.main(frame)
local pframe = frame:getParent()
local config = frame.args
local args = pframe.args
return p._main(args)
end
function p._main(args)
local state, titlemid, title, group1
if mw.title.getCurrentTitle() == "Template:বিশ্ব প্রসঙ্গ" then
state = "autocollapse"
else
state = args.state
end
if args[1] ~= nil or args.prefix ~= nil and (args[2] == nil or args.suffix == nil) then
titlemid = ""
end
if args.title ~= nil then
title = args.title
else
title = "[["..(args[1] or args.prefix or "")..(titlemid or "").." বিশ্ব"..(args.suffix or "").."]]"
end
if args.group1 ~= nil and args.group1 ~= "" then
group1 = args.group1
end
local sorter = {}
for n in pairs(country) do
table.insert(sorter, n)
end
table.sort(sorter)
-- parse link overrides, e.g. |link_United_States=Foo sets override["United States"] = "Foo"
local override = {}
for k,v in pairs(args) do
local country = mw.ustring.match(k, "^link_(.*)")
if country then
country = mw.ustring.gsub(country, "_", " ")
override[country] = v
end
end
local redlinks = args.noredlinks == nil
local list1 = table.concat(links(args[1], args[2], args.prefix, args.suffix, sorter, redlinks, override) )
local navarguments = {
name = args.name or "বিশ্ব প্রসঙ্গ",
state = state,
navbar = args.navbar or "Tnavbar",
border = args.border,
title = title,
image = args.image,
titlestyle = args.titlestyle,
bodystyle = args.bodystyle,
abovestyle = args.abovestyle,
belowstyle = args.belowstyle,
groupstyle = args.groupstyle,
liststyle = args.liststyle,
listclass = "hlist",
above = args.above,
group1 = group1,
list1 = list1
}
return Navbox._navbox(navarguments)
end
return p