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

p = {}

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

function p.nihongo(frame)
	
	local args = getArgs(frame)
	local ret
	local ret_temp

	-- Parameter {{{2}}}
	
	if args[2] ~= nil then
			
		if yesno(args.lead) then
			ret = ret .. '[[日语]]:'
		else
			ret = ''
		end
		
		ret = ret .. '<span lang="ja" xml:lang="ja">-{' .. args[2] .. '}-</span>'
	else
		ret = ''
		
	end
	
	-- Parameter {{{romaji}}}
	
	if args.romaji ~= nil then
		
		if yesno(args.lead) then
			ret_temp = ret_temp .. '[[平文式罗马字|罗马字]]:'
		end
	
		ret_temp = ret_temp .. '<span lang="ja-Latn" xml:lang="ja-Latn" title="日文转写">' .. args.romaji .. '</span>'
	else
		ret_temp = ''
		
	end
	
	if ret ~= '' and ret_temp ~= '' then
		ret = ret .. ',' .. ret_temp
	else
		ret_temp = ret .. ret_temp
		ret = ''
	end
	
	-- Parameter {{{3}}}
		
	if args[3] ~= nil then
		ret_temp = ret .. ',' .. args[3]
	end
	
	if ret ~= '' and ret_temp ~= '' then
		ret_temp = ret .. ',' .. ret_temp
	else
		ret_temp = ret .. ret_temp
		ret = ''
	end	
	
	-- Parameter {{{4}}}
		
	if args[4] ~= nil then
		ret_temp = ret_temp .. ',' .. args[4]
	end
	
	if ret ~= '' and ret_temp ~= '' then
		ret_temp = ret .. ',' .. ret_temp
	else
		ret_temp = ret .. ret_temp
		ret = ''
	end
	
	if ret_temp ~= '' then
		ret_temp = '(' .. ret_temp .. ')'
	end
	
	-- Parameter {{{5}}}
		
	if args[5] ~= nil then
		ret_temp = ret_temp .. ' ' .. args[5]
	end

	-- Parameter {{{1}}}

	if args[1] ~= nil then
		ret = args[1]
	else
		ret = ''
	end
		
	ret = ret .. ret_temp
	
	return ret
end

return p