Modul:MsgRevert

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Die Dokumentation für dieses Modul kann unter Modul:MsgRevert/Doku erstellt werden

--[=[ 2017-03-06
msgRevert * Systemnachrichten für das Zurücksetzen
]=]

-- revertpage
-- revreview-reject-summary-cur
-- revreview-reject-summary-cur-short
-- revreview-reject-summary-old
-- revreview-reject-summary-old-short
-- rollback-success
-- undo-summary



local L10N = {
    de = { revertpage = {
                 s1s2 = [===[Änderungen von [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussion]]) wurden auf die letzte Version von [[User:$1|$1]] zurückgesetzt]===],
                 x1s2 = [===[Änderungen von [[Special:Contributions/$2|$2]] ([[User talk:$2|Diskussion]]) wurden auf die letzte Version von [[Benutzer:$1]] zurückgesetzt]===],
                 s1x2 = [===[Änderungen von [[Special:Contributions/$2]] wurden auf die letzte Version von [[User:$1|$1]] zurückgesetzt]===],
                 x1x2 = [===[Änderungen von [[Special:Contributions/$2]] wurden auf die letzte Version von [[Benutzer:$1]] zurückgesetzt]===],
                 bytes = { 20, 20 } }    -- bytes = { 50, 50 }
         }
} -- L10N



local function fetch( access )
    -- Retrieve text pattern set
    --     access  -- message ID
    -- Returns table, or nil
    local r = L10N[ mw.language.getContentLanguage():getCode() ]
    if r then
        r = r[ access ]
    end
    return r
end -- fetch()



local function fit( frame, access )
    -- Evaluate parameters
    --      access  -- message ID
    -- Returns string
    local t = fetch( access )
    local r
    if t and t.bytes then
        local s = ""
        for i = 1, #t.bytes do
            if t.bytes[ i ] and frame.args[ i ] then
                if frame.args[ i ]:len() > t.bytes[ i ] then
                    s = string.format( "%sx%d", s, i )
                else
                    s = string.format( "%ss%d", s, i )
                end
            end
        end -- for i
        if type( t[ s ] ) == "string" then
            r = t[ s ]
            for i = 1, #t.bytes do
                if frame.args[ i ] then
                     r = r:gsub( string.format( "$%d", i ),
                                 frame.args[ i ] )
                end
            end -- for i
        end
    end
    if not r then
        r = string.format( "MediaWiki:%s *********** E R R O R", access )
    end
    return r
end -- fit()



-- Export
local p = { }

p.revertpage = function ( frame )
    return fit( frame, "revertpage" )
end -- p.revertpage()



p.test = function ( frame )
    return string.format( "msg=%s Dollar1=%s Dollar2=%s Dollar4=%s",
                          frame.args.msg or "???",
                          frame.args[ 1 ] or "?",
                          frame.args[ 2 ] or "?",
                          frame.args[ 4 ] or "?" )
end -- p.test()

return p