local p = {}  -- _fetch looks at the "demo" argument. local _fetch = require('Module:Transclusion_count').fetch local yesno = require('Module:Yesno')  function p.num(frame, count) 	if count == nil then 		if yesno(frame.args['fetch']) == false then 			if (frame.args[1] or ) ~=  then count = tonumber(frame.args[1]) end 		else 			count = _fetch(frame) 		end 	end 	 	-- Build output string 	local return_value = "" 	if count == nil then 		if frame.args[1] == "risk" then 			return "অনেক বেশি সংখ্যক পাতায়" 		else 			return "অধিক" 		end 	else 		-- Use 2 significant figures for smaller numbers and 3 for larger ones 		local sigfig = 2 		if count >= 100000 then 			sigfig = 3 		end 		 		-- Prepare to round to appropriate number of sigfigs 		local f = math.floor(math.log10(count)) - sigfig + 1 		 		-- Round and insert "আনুমানিক" or "+" when appropriate 		if (frame.args[2] == "yes") or (mw.ustring.sub(frame.args[1],-1) == "+") then 			-- Round down 			return_value = string.format("%s+", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) ) * (10^(f))) ) 		else 			-- Round to nearest 	return_value = string.format("আনুমানিক %s", mw.getContentLanguage():formatNum(math.floor( (count / 10^(f)) + 0.5) * (10^(f))) ) 		end  		-- Insert percentage of pages if that is likely to be >= 1% and when |no-percent= not set to yes 		if count and count > 250000 and not yesno (frame:getParent().args['no-percent']) then 			local percent = math.floor( ( (count/frame:callParserFunction('NUMBEROFPAGES', 'R') ) * 100) + 0.5) 			if percent >= 1 then 				return_value = string.format("%s  পাতায় ব্যবহৃত হয়েছে, or roughly %s%% of all", return_value, percent) 			end 		end	 	end 	 	return return_value end  -- Actions if there is a large (greater than or equal to 100,000) transclusion count function p.risk(frame) 	if frame.args[1] == "risk" then 		return "risk" 	else 		local count = _fetch(frame) 		if count and count >= 100000 then 			return "risk" 		end 	end 	return "" end  function p.text(frame, count) 	-- Only show the information about how this template gets updated if someone 	-- is actually editing the page and maybe trying to update the count. 	local bot_text = (frame:preprocess("") == "") and "\n\n----\nPreview message: Transclusion count updated automatically (see documentation)." or 	 	if count == nil then 		if yesno(frame.args['fetch']) == false then 			if (frame.args[1] or ) ~=  then count = tonumber(frame.args[1]) end 		else 			count = _fetch(frame) 		end 	end 	local title = mw.title.getCurrentTitle() 	if title.subpageText == "নথি" or title.subpageText == "খেলাঘর" then 		title = title.basePageTitle 	end 	 	local systemMessages = frame.args['system'] 	if frame.args['system'] ==  then 		systemMessages = nil 	end 	 	-- This retrieves the project URL automatically to simplify localiation. 	local templateCount = (' %s পাতায় ব্যবহৃত হয়েছে '):format( 		mw.title.getCurrentTitle():fullUrl():gsub('//(.-)/.*', '%1'), 		mw.uri.encode(title.fullText), p.num(frame, count)) 	local used_on_text = "এই " .. (mw.title.getCurrentTitle().namespace == 828 and "লুয়া মডিউলটি" or "টেমপ্লেটটি")  .. '  '; 	if systemMessages then 		used_on_text = used_on_text .. systemMessages .. 			((count and count > 2000) and (", and " .. templateCount) or ("")) 	else 		used_on_text = used_on_text .. templateCount .. "" 	end 	 	local sandbox_text =  ("%sটির /খেলাঘর বা /পরীক্ষা উপপাতা অথবা আপনার %s পরীক্ষা করুন। "):format( 		(mw.title.getCurrentTitle().namespace == 828 and "মডিউল" or "টেমপ্লেট"), 		title.fullText, title.fullText, 		mw.title.getCurrentTitle().namespace == 828 and "Module:খেলাঘর|module sandbox" or "Wikipedia:User pages#SUB|ব্যবহারকারী উপপাতায়" 	) 	 	local infoArg = frame.args["info"] ~= "" and frame.args["info"] 	if (systemMessages or frame.args[1] == "risk" or (count and count >= 100000) ) then 		local info = systemMessages and '.Changes to it can cause immediate changes to the Wikipedia user interface.' or '.' 		if infoArg then 			info = info .. "" .. infoArg 		end 		sandbox_text = info .. ' To avoid major disruption' .. 			(count and count >= 100000 and ' and server load' or ) .. 			', any changes should be tested in the ' .. sandbox_text .. 			'The tested changes can be added to this page in a single edit. ' 	else 		sandbox_text = (infoArg and ('.' .. infoArg .. ',ফ') or ',ফ') .. 			'লে এর যে কোন পরিবর্তন ব্যাপকভাবে দেখা যাবে। দয়া করে যে কোন ধরনের পরিবর্তন ' .. sandbox_text 	end  	 	local discussion_text = systemMessages and 'বাস্তবায়নের পূর্বে ' or 'বাস্তবায়নের পূর্বে  ' 	if frame.args["2"] and frame.args["2"] ~= "" and frame.args["2"] ~= "yes" then 		discussion_text = string.format("%sat %s", discussion_text, frame.args["2"]) 	else 		discussion_text = string.format("%s আলাপ পাতায়", discussion_text, title.talkPageTitle.fullText ) 	end 	 	return used_on_text .. sandbox_text .. discussion_text .. " পরিবর্তন সম্পর্কে আলোচনা করুন। " .. bot_text end  function p.main(frame) 	local count = nil 	if yesno(frame.args['fetch']) == false then 		if (frame.args[1] or ) ~=  then count = tonumber(frame.args[1]) end 	else 		count = _fetch(frame) 	end 	local image = "40px|alt=Warning|link=" 	local type_param = "style" 	local epilogue =  	if frame.args['system'] and frame.args['system'] ~=  then 		image = "40px|alt=Warning|link=" 		type_param = "content" 		local nocat = frame:getParent().args['nocat'] or frame.args['nocat'] 		local categorise = (nocat ==  or not yesno(nocat)) 		if categorise and not mw.title.getCurrentTitle().isRedirect then 			epilogue = frame:preprocess('') 		end 	elseif (frame.args[1] == "risk" or (count and count >= 100000)) then 		image = "40px|alt=Warning|link=" 		type_param = "content" 	end 	 	if frame.args["form"] == "editnotice" then 		return frame:expandTemplate{ 				title = 'editnotice', 				args = { 						["image"] = image, 						["text"] = p.text(frame, count), 						["expiry"] = (frame.args["expiry"] or "") 				} 		} .. epilogue 	else 		return require('module: বার্তার বাক্স').main('ombox', { 			type = type_param, 			image = image, 			text = p.text(frame, count), 			expiry = (frame.args["expiry"] or "") 		}) .. epilogue 	end end  return p