Módulo:Diálogo
A documentação para este módulo pode ser criada em Módulo:Diálogo/doc
local p = {}
function p.invoke_main(frame)
local args = frame:getParent().args
return p.main(args)
end
function p.main(args)
local dtype = string.lower( args[1] or '' )
local pagetitle = mw.title.getCurrentTitle()
local pagename = pagetitle.text
local basepagename = pagetitle.baseText
local ns120 = pagetitle.namespace == 116 -- Transcript namespace
local linkarg = args.link
local link = '[[' .. ( linkarg or pagename ) .. ']]'
local linkb = args.linkb
local linkband = linkb and ( '[[' .. linkb .. ']] e ' ) or ''
local title = args.title or pagename
local sentences = {
['case'] = 'dialogue related to the court case ' .. link,
['casedocument'] = 'the transcript of the ' .. link .. ' related to the case [[' .. (linkb or '') .. ']]',
['dgjournal'] = 'the transcript of ' .. linkband .. link,
['irl'] = 'a transcript related to ' .. linkband .. link,
['objeto'] = 'a transcrição relacionada a ' .. linkband .. link,
['mystery'] = 'dialogue related to the [[Archaeology]] [[mystery]] ' .. link,
['questjournal'] = 'dialogue related to ' .. linkband .. '[[' .. (linkarg or basepagename) .. ']]',
['research'] = 'the transcript of the [[Archaeology]] [[research]] named ' .. link,
['scenery'] = 'dialogue related to ' .. linkband .. 'the interactive scenery ' .. link,
['voyage'] = 'dialogue related to ' .. linkband .. 'the voyage ' .. link
}
local defaultText = 'diálogos relacionados a ' .. linkband .. link
local source = 'O conteúdo abaixo é copiado do \'\'RuneScape\'\' e seu copyright pertence à [[Jagex]].'
if dtype == 'irl' then
source = 'The content below has been transcribed from a real-life act by [[Jagex]].'
end
local startTable = '{| class="messagebox standard-talk plainlinks" style="border-left:none; text-align:center;"\n|-\n| '
local line = 'Essa página contém ' .. ( sentences[dtype] or defaultText ) .. '.'
local endTable = '<br clear="all" /><div style="font-size:0.85em; line-height:1.4em;">' .. source .. '</div>\n|-\n|}'
local header = startTable .. line .. endTable
local cats = {
['case'] = {'Court case transcript'},
['casedocument'] = {'Court case transcript', 'Transcrições de objetos', 'Transcrições não faladas'},
['dgjournal'] = {'Dungeoneering journal transcript', 'Transcrições de objetos', 'Transcrições não faladas'},
['event'] = {'Event transcript'},
['familiar'] = {'Familiar dialogue'},
['irl'] = {'Real-life transcripts'},
['objeto'] = {'Transcrições de objetos', 'Transcrições não faladas'},
['miniquest'] = {'Miniquest transcript'},
['music'] = {'Music transcript', 'Transcrições não faladas'},
['mystery'] = {'Mystery transcript'},
['npc'] = {'NPC dialogue'},
['pet'] = {'Pet dialogue'},
['quest'] = {'Quest transcript'},
['questjournal'] = {'Quest journal transcript', 'Transcrições não faladas'},
['research'] = {'Research transcript', 'Transcrições não faladas'},
['saga'] = {'Fremennik Saga transcript'},
['scenery'] = {'Scenery transcript'},
['voyage'] = {'Voyage transcript'}
}
local setcat = ''
local displayTitle = ''
if ns120 then
local cat = cats[dtype] or {'Miscellaneous transcript'}
setcat = '[[Categoria:' .. table.concat(cat, ']][[Categoria:') .. ']]'
--[[
local titleTypeIds = {
['familiar'] = 1,
['npc'] = 1,
['pet'] = 1,
['item'] = 2,
['miniquest'] = 2,
['misc'] = 2,
['quest'] = 2,
['saga'] = 2,
['questjournal'] = 3
}
local titleTypes = {
'Dialogue for ' .. title,
'Transcript of ' .. title,
'Transcript of ' .. basepagename .. ' journal entry'
}
local newTitle = titleTypes[ titleTypeIds[dtype] or 2 ]
displayTitle = mw.getCurrentFrame():callParserFunction{ name = 'DISPLAYTITLE', args = { newTitle } }
]]--
end
return header .. setcat --.. displayTitle
end
return p