본문으로 이동

모듈:License scope

위키문헌, 우리 모두의 도서관.
모듈 설명문서[보기] [편집] [역사] [새로 고침]

{{저작권 범위}}를 생성합니다.

--[=[
Implements [[Template:License scope]] and [[Template:License grammar]]
]=]

local p = {} --p stands for package

local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')

local namespace = mw.title.getCurrentTitle().nsText

function p.plural_namespace()
	local plural_namespaces = {
		["저자"] = true,
		["저자토론"] = true,
		["포털"] = true,
		["포털토론"] = true,
		["분류"] = true,
		["분류토론"] = true
	}
	return plural_namespaces[namespace] or false
end

--[=[
Implements [[Template:License scope]]
]=]

function p._license_scope(args)
	if not args then
		args = {}
	end
	
	local text
	if p.plural_namespace() then
		local usesome
		if namespace == "분류" or namespace == "분류토론" then
			usesome = yesno(args['일부'] or args.usesome or 'no')
		else
			usesome = yesno(args['일부'] or args.usesome or 'yes')
		end
		if namespace == "저자" or namespace == "저자토론" then
			text = "이 저자의 "
		elseif namespace == "포털" or namespace == "포털토론" then
			text = "이 포털의 "
		elseif namespace == "분류" or namespace == "분류토론" then
			text = "이 분류의 "
		end
		if usesome then
			text = text .. "일부 또는 전체 저작물"
		else
			text = text .. "저작물"
		end
	elseif namespace == "파일" or namespace == "파일토론" then
		text = "이 파일"
	elseif namespace == "Image" or namespace == "Image talk" then
		text = "이 그림"
	else
		text = "이 저작물"
	end
	
	local josa = args['조사'] or '은'
	text = text .. josa
	
	return text
end

function p.license_scope(frame)
	return p._license_scope(getArgs(frame))
end

--[=[
Implements [[Template:License grammar]]
]=]

function p._license_grammar(args)
	if not args then
		args = {}
	end
	if p.plural_namespace() then
		return args[2]
	else
		return args[1]
	end
end

function p.license_grammar(frame)
	return p._license_grammar(getArgs(frame))
end

return p