local p = {}
local adjective = mw.loadData('মডিউল:দেশ জাতীয়তাসূচক বিশেষণ/বিশেষণ')

local infobox = require('Module:infobox').infobox
local getArgs = require('Module:Arguments').getArgs
local infoboximage = require('মডিউল:InfoboxImage').InfoboxImage

function p.main(frame)
    local args = getArgs(frame, {wrappers = {'টেমপ্লেট:তথ্যছক চলচ্চিত্র'}})

    local dataim = {
        args = {
            image = args["image"] or args["চিত্র"],
            image_upright = args["image_upright"] or "1",
            alt = args["alt"] or args["বিকল্প"],
        }
    }

    local data = {
    	labelstyle ="white-space: nowrap; padding-right: 0.65em",
        italic_title = args["italic_title"] or args["বাঁকা শিরোনাম"] or "no",
        bodyclass = "vevent",
        aboveclass = "summary",
        abovestyle = "font-size: 125%; font-style: italic;",
        above = args["name"] or args["নাম"] or mw.title.getCurrentTitle().text,
        image = infoboximage(dataim),
        caption = args["caption"] or args["ক্যাপশন"],
        label1 = "স্থানীয় নাম", data1 = args["native_name"] or args["মূল নাম"] or args["স্থানীয় নাম"],
        label2 = "পরিচালক", data2 = args["director"] or args["পরিচালক"],
        label3 = "রচয়িতা", data3 = args["writer"] or args["লেখক"] or args["রচয়িতা"],
        label4 = "চিত্রনাট্যকার", data4 = args["screenplay"] or args["চিত্রনাট্যকার"],
        label5 = "কাহিনীকার", data5 = args["story"] or args["কাহিনিকার"] or args["কাহিনীকার"],
        label6 = "উৎস", data6 = args["based_on"] or args["ভিত্তি করে"],
        label7 = "প্রযোজক", data7 = args["producer"] or args["প্রযোজক"],
        label8 = "শ্রেষ্ঠাংশে", data8 = args["starring"] or args["শ্রেষ্ঠাংশে"] or args["অভিনয়শিল্পী"],
        label9 = "বর্ণনাকারী", data9 = args["narrator"] or args["বর্ণনাকারী"],
        label10 = "চিত্রগ্রাহক", data10 = args["cinematography"] or args["চিত্রগ্রাহক"],
        label11 = "সম্পাদক", data11 = args["editing"] or args["সম্পাদক"],
        label12 = "সঙ্গীতকার", data12 = args["music"] or args["সুরকার"] or args["সঙ্গীত"],
        label13 = "অ্যানিমেটর", data13 = args["animator"] or args["অ্যানিমেটর"],
        label14 = "বিন্যাসকারী", data14 = args["layout_artist"] or args["বিন্যাসকারী"],
        label15 = "ব্যাকগ্রাউন্ড শিল্পী", data15 = args["background_artist"] or args["ব্যাকগ্রাউন্ড শিল্পী"],
        label16 = "রঙ বিন্যাস", data16 = args["color_process"] or args["রঙ বিন্যাস"],
        label17 = "প্রযোজনা সংস্থা", data17 = args["production_companies"] or args["স্টুডিও"] or args["প্রযোজনা কোম্পানি"],
        label18 = "পরিবেশক", data18 = args["distributor"] or args["পরিবেশক"],
        label19 = "মুক্তি", data19 = args["released"] or args["মুক্তি"],
        label20 = "স্থিতিকাল", data20 = args["runtime"] or args["দৈর্ঘ্য"] or args["স্থিতিকাল"],
        label21 = "দেশ", data21 = args["country"] or args["দেশ"],
        label22 = "ভাষা", data22 = args["language"] or args["ভাষা"],
        label23 = "নির্মাণব্যয়", data23 = args["budget"] or args["নির্মাণব্যয়"],
        label24 = "মোট আয়", data24 = args["gross"] or args["আয়"] or args["মোট আয়"],
    }

    local lang = args["ভাষা"] or args["language"] or "অজানা"
    local country = adjective[args["দেশ"] or args["country"]] or "অজানা"

    local category = lang .. " ভাষার " .. country .. " চলচ্চিত্র"
    local lang_category = lang .. " ভাষার চলচ্চিত্র"

    local full_category = mw.title.new("বিষয়শ্রেণী:" .. category)
    local cat
    if full_category and full_category.exists then
        cat = "[[বিষয়শ্রেণী:" .. category .. "]]"
    else
        cat = "[[বিষয়শ্রেণী:" .. lang_category .. "]]"
    end

    if lang == "শব্দহীন" or lang == "শব্দহীন চলচ্চিত্র" or lang == "নির্বাক" or lang == "নির্বাক চলচ্চিত্র" then
        cat = "[[বিষয়শ্রেণী:নির্বাক চলচ্চিত্র]]"
    end

    return infobox(data) .. cat
end

return p