Module:For

local p = {}

local i18n = require('Dev:I18n').loadMessages('For') local userError = require('Dev:User error') local title = mw.title.getCurrentTitle

function p.main(frame) local args = frame:getParent.args if type(args[1]) ~= 'string' then return userError(i18n:msg('error')) end if type(args[2]) ~= 'string' then args[2] = i18n:inContentLang:msg('disambiguation', title.text) end local text = type(args[3]) == 'string' and i18n:msg('for-2', args[1], args[2], args[3]) or       i18n:msg('for-1', args[1], args[2]) return ': ' .. text end

return p