Jump to content

Module:sinhala project

Wiktionary වෙතින්

ඉංග්‍රීසි විකිපොත් අඩවියෙන් මෙහි ගෙන ආ සැකිලි සහ මොඩියුල සඳහා අවශ්‍ය පරිවර්තන සඳහා උපකාරී වීම මෙම මොඩියුලයේ අරමුණයි.

භාවිතය

[සංස්කරණය]

local m_sinhala_project = require("Module:sinhala project")

si = m_sinhala_project.inNamespace(en)


local m_string_utilities = require("Module:string utilities")

local p = {} -- p stands for package

function startswith(text, test_string)
	if text ~= nil then
		if text.text ~= nil then
			if test_string ~= nil then
				if text.text ~= m_string_utilities.gsub(text.text, test_string, "") then
					return true;
				end
			end
		else
			if text ~= m_string_utilities.gsub(text, test_string, "") then
				return true;
			end
		end
	end
	-- if mw.ustring.sub(mw.ustring.lower(test_string),1,mw.ustring.len(start)) == mw.ustring.lower(start) then
	--	return true;
	-- end
	-- local len = mw.ustring.len(mw.text.trim(start))
	-- return mw.ustring.sub(mw.ustring.lower(test_string),1,mw.ustring.len(start))==mw.ustring.lower(start)
	-- return (test_string:sub(1, start:len()) == start)
	return false;
end

function p.inNamespace( title, inNamespace )
	name_space = ""
	if (inNamespace == "Appendix") or (inNamespace == "උපග්‍රන්ථය") then
		name_space = "උපග්‍රන්ථය:"
		if startswith(title, name_space) then
			return true;
		end
		name_space = "Appendix:"
		if startswith(title, name_space) then
			return true;
		end
	elseif (inNamespace == "Reconstruction") then
		name_space = "Reconstruction:"

		if startswith(title, name_space) then
			return true;
		end
	end

	return false;
end

function p.getPageNamespaceInternal( name_space, page_name )
	local name_space = name_space
	local title = page_name

	-- ප්‍රශ්නය තිබෙන්නේ, දැනට ප්‍රධාන නාමාවකාශයේ යැයි සළකන පිටු සඳහා පමණි
	if (name_space == "") then
		if startswith(title, "Appendix:") or startswith(title, "උපග්‍රන්ථය:") then
			name_space = "උපග්‍රන්ථය"
		elseif startswith(title, "Reconstruction:") then
			name_space = "Reconstruction"
		end
	end
	return name_space
end

function p.getPageNamespaceFromName( page_name )
	local name_space = ""
	return p.getPageNamespaceInternal( name_space, page_name )
end

function p.getPageNamespaceFromParams( name_space, title )
	local page = {}
	page.namespace = name_space
	page.title = title

	return p.getPageNamespace( page )
end

function p.getPageNamespace( page )
	local name_space = page.namespace
	local title = page.title

	return p.getPageNamespaceInternal( name_space, title )
end

function p.getSubpageText( title )
	local retText = title
	require('Module:debug').track("sinhala-project-title-s1 ==" .. retText)
	if startswith(title, "Reconstruction:") then
		retText = m_string_utilities.gsub(retText, "Reconstruction:", "")
		require('Module:debug').track("sinhala-project-title-s2 ==" .. retText)
		retText = m_string_utilities.gsub(retText, "^.*/", "")
		require('Module:debug').track("sinhala-project-title-s3 ==" .. retText)
	end
	return retText
end

return p
"https://si.wiktionary.org/w/index.php?title=Module:sinhala_project&oldid=196349" වෙතින් සම්ප්‍රවේශනය කෙරිණි