imported>Melvintong1516
No edit summary
 
(No difference)

Latest revision as of 14:50, 23 January 2020

Documentation for this module may be created at Module:Sandbox/Melvintong1516/Names/doc

local p = {}

p.givenname = function(frame)
	local name = frame.args.name
	local nameformat = frame.args.nameformat or "en"
	if nameformat == "en"
	then local enposofblank1, enposofblank2 = string.find(name, "(%s)%a+(%s)")
		if enposofbalnk1 == nil
		then enposofblank1 = string.find(name, "(%s)%a+")
		end
		if enposofblank2 ~= nil
		then local givenname = string.sub(name, 1, enposofblank2)
			return givenname
		else local givenname = string.sub(name, 1, enposofblank1)
			return givenname
		end
	end
	
	if nameformat == "de"
	then local deposofblank1 = string.find(name, "(%s)%a+")
		local givenname = string.sub(name, 1, deposofblank1)
		return givenname
	end
end

p.famname = function(frame)
	local name = frame.args.name
	local nameformat = frame.args.nameformat or "en"
	if nameformat == "en"
	then local enposofblank1, enposofblank2= string.find(name, "(%s)%a+(%s)")
		if enposofblank2 ~= nil
		then local enendspace = string.find(name, "(%s)%a+", -enposofblank1)
			if enendspace ~= nil and enendspace ~= enposofblank2
			then local famname = string.sub(name, enposofblank2, enendspace)
				return famname
			else local famname = string.sub(name, enposofblank2)
				return famname
			end
		else if enposofblank1 == nil
			then enposofblank1 = string.find(name, "(%s)%a+")
				local famname = string.sub(name, enposofblank1)
				return famname
			end
		end
	end
		
	if nameformat == "de"
	then local deposofblank1, deposofblank2 = string.find(name, "(%s)van(%s)" or "(%s)den(%s)" or "(%s)Broek(%s)" or "(%s)de(%s)" or "(%s)de Jesús(%s)" or "(%s)%a+(%s)")
		if deposofblank1 == nil
		then deposofblank1 = string.find(name, "(%s)%a+")
		end
		if deposofblank2 ~= nil
		then if string.find(string.sub(name, deposofblank1), string.sub(name, deposofblank2)) == string.sub(name, deposofblank1, deposofblank2)
			then famname = string.sub(name, deposofblank1)
				return famname
			else local famname = string.sub(name, deposofblank2)
				return famname
			end
		else local famname = string.sub(name, deposofblank1)
			return famname
		end
	end
end

p.test = function(frame)
	local name = frame.args.name
	local nameformat = frame.args.nameformat or "en"
	if nameformat == "de"
	then local deposofblank1, deposofblank2= string.find(name, "(%s)%a+(%s)")
		if deposofblank2 ~= nil
		then local deendspace = string.find(name, "(%s)%a+í%a%s%a+)", -deposofblank2)
			if deendspace ~= nil
			then local famname = string.sub(name, deendspace)
				return famname .. "endspace"
			else local famname = string.sub(name, deposofblank2)
				return famname .. "2"
			end
		else if deposofblank1 == nil
			then deposofblank1 = string.find(name, "(%s)%a+")
				local famname = string.sub(name, deposofblank1)
				return famname .. "1"
			end
		end
	end
end

return p