×
নতুন নিবন্ধ তৈরি করুন
আপনার পাতাটির শিরোনাম এখানে লিখুন
বর্তমানে শারকেডিয়া-তে আমাদের ১০ টি নিবন্ধ রয়েছে। উপরে আপনার নিবন্ধের নাম টাইপ করুন অথবা এখানে তালিকাভুক্ত নিবন্ধগুলোর একটি তৈরি করুন!



    শারকেডিয়া
    This wiki has been automatically closed because there have been no edits or log actions made within the last 60 days. If you are a user (who is not the bureaucrat) that wishes for this wiki to be reopened, please request that at Requests for reopening wikis. If this wiki is not reopened within 6 months it may be deleted. Note: If you are a bureaucrat on this wiki, you can go to Special:ManageWiki and uncheck the "Closed" box to reopen it.

    এই মডিউলের জন্য মডিউল:Scripts/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে

    local export = {}
    local Script = {}
    
    function Script:getCode()
    	return self._code
    end
    
    function Script:getCanonicalName()
    	return self._rawData.canonicalName
    end
    
    function Script:getDisplayForm()
    	return self:getCategoryName("nocap")
    end
    
    function Script:getOtherNames(onlyOtherNames)
    	return require("Module:language-like").getOtherNames(self, onlyOtherNames)
    end
    
    function Script:getAliases()
    	return self._rawData.aliases or {}
    end
    
    function Script:getVarieties(flatten)
    	return require("Module:language-like").getVarieties(self, flatten)
    end
    
    function Script:getParent()
    	return self._rawData.parent
    end
    
    function Script:getSystems()
    	if not self._systemObjects then
    		local m_systems = require("Module:writing systems")
    		self._systemObjects = {}
    		
    		for _, sys in ipairs(self._rawData.systems or {}) do
    			table.insert(self._systemObjects, m_systems.getByCode(sys))
    		end
    	end
    	
    	return self._systemObjects
    end
    
    --function Script:getAllNames()
    --	return self._rawData.names
    --end
    
    
    function Script:getType()
    	return "script"
    end
    
    
    function Script:getCategoryName(nocap)
    	local name = self._rawData.canonicalName
    	
    	-- If the name already has "code" or "semaphore" in it, don't add it.
    	-- No names contain "script".
    	if not name:find("[Cc]ode$") and not name:find("[Ss]emaphore$") then
    		name = name .. " script"
    	end
    	if not nocap then
    		name = mw.getContentLanguage():ucfirst(name)
    	end
    	return name
    end
    
    
    function Script:makeCategoryLink()
    	return "[[:Category:" .. self:getCategoryName() .. "|" .. self:getDisplayForm() .. "]]"
    end
    
    
    function Script:getWikipediaArticle()
    	return self._rawData.wikipedia_article or self:getCategoryName()
    end
    
    
    function Script:getCharacters()
    	if self._rawData.characters then
    		return self._rawData.characters
    	else
    		return nil
    	end
    end
    
    
    function Script:countCharacters(text)
    	if not self._rawData.characters then
    		return 0
    	else
    		local _, num = mw.ustring.gsub(text, "[" .. self._rawData.characters .. "]", "")
    		return num
    	end
    end
    
    function Script:getDirection()
    	local direction = self._rawData.direction
    	if not direction then
    		return nil
    	else
    		return direction
    	end
    end
    
    
    function Script:getRawData()
    	return self._rawData
    end
    
    
    function Script:toJSON()
    	local ret = {
    		canonicalName = self:getCanonicalName(),
    		categoryName = self:getCategoryName("nocap"),
    		code = self._code,
    		otherNames = self:getOtherNames(true),
    		aliases = self:getAliases(),
    		varieties = self:getVarieties(),
    		type = self:getType(),
    		direction = self:getDirection(),
    		characters = self:getCharacters(),
    		parent = self:getParent(),
    		systems = self._rawData.systems or {},
    		wikipediaArticle = self._rawData.wikipedia_article,
    	}
    	
    	return require("Module:JSON").toJSON(ret)
    end
    
    
    Script.__index = Script
    
    
    function export.makeObject(code, data)
    	return data and setmetatable({ _rawData = data, _code = code }, Script) or nil
    end
    
    
    function export.getByCode(code, paramForError, disallowNil)
    	if code == nil and not disallowNil then
    		return nil
    	end
    	if code == "IPAchar" then
    		require("Module:debug/track")("IPAchar")
    	end
    	local retval = export.makeObject(code, mw.loadData("Module:scripts/data")[code])
    	if not retval and paramForError then
    		require("Module:languages").err(code, paramForError, "script code", nil, "not real lang")
    	end
    	return retval
    end
    
    function export.getByCanonicalName(name)
    	local code = mw.loadData("Module:scripts/by name")[name]
    	
    	if not code then
    		return nil
    	end
    	
    	return export.makeObject(code, mw.loadData("Module:scripts/data")[code])
    end
    
    -- Find the best script to use, based on the characters of a string.
    -- If forceDetect is set, run the detection algorithm even if there's only one
    -- possible script; in that case, if the text isn't in the script, the return
    -- value will be None.
    function export.findBestScript(text, lang, forceDetect)
    	if not text or not lang or not lang.getScripts then
    		return export.getByCode("None")
    	end
    	
    	local scripts = lang:getScripts()
    	
    	if not scripts[2] and not forceDetect then
    		return scripts[1]
    	end
    	
    	return require("Module:scripts/findBestScript")(export, text, lang, scripts, forceDetect)
    end
    
    --[=[
    	Takes a codepoint or a character and finds the script code (if any) that is
    	appropriate for it based on the codepoint, using the data module
    	[[Module:scripts/recognition data]]. The data module was generated from the
    	patterns in [[Module:scripts/data]] using [[Module:User:Erutuon/script recognition]].
    
    	Converts the character to a codepoint. Returns a script code if the codepoint
    	is in the list of individual characters, or if it is in one of the defined
    	ranges in the 4096-character block that it belongs to, else returns "None".
    ]=]
    function export.charToScript(char)
    	return require("Module:scripts/charToScript").charToScript(char)
    end
    
    function export.findBestScriptWithoutLang(text)
    	return require("Module:scripts/charToScript").findBestScriptWithoutLang(text)
    end
    
    return export
    
    কুকিসমূহ আমাদের সেবা প্রদান করতে সহায়তা করে। আমাদের পরিষেবা ব্যবহার করার মাধ্যমে, আপনি আমাদের দ্বারা কুকি ব্যবহারে সম্মত হচ্ছেন।
    আরও তথ্য

    সাম্প্রতিক পরিবর্তন

  • 37.111.194.29 • ৪ মাস আগে
  • 37.111.194.29 • ৪ মাস আগে
  • কুকিসমূহ আমাদের সেবা প্রদান করতে সহায়তা করে। আমাদের পরিষেবা ব্যবহার করার মাধ্যমে, আপনি আমাদের দ্বারা কুকি ব্যবহারে সম্মত হচ্ছেন।
    আরও তথ্য