Difference between revisions of "Module:Template translation"

Jump to navigation Jump to search
m
add a sandbox function 2 for fixing the previous one
en>Base
m (should be like this, i hope)
en>Verdy p
m (add a sandbox function 2 for fixing the previous one)
Line 64: Line 64:
     local arguments = {}
     local arguments = {}
     for k, v in pairs(frame.args) do
     for k, v in pairs(frame.args) do
        arguments[k] = v
    end
    return frame:expandTemplate{title = namespace .. ':' .. template .. '/' .. langcode, args = arguments}
end
--[[sandbox: Fix parameter list
    ]]
function this.renderTranslatedTemplate2(frame)
    local template = frame.args['template']
    --[[Check whether the template is actually in the Template namespace, or
        if we're transcluding a main-namespace page.
        (added for backward compatibility of Template:TNT)
        ]]
   
   
    local namespace = 'Template'
    if (frame.args['namespace']~='')--checks for namespace parameter for custom ns
    then
    namespace = frame.args['namespace']
    else--supposes that set page is in ns10
        local templateFullTitle = mw.title.new(template, namespace)
        if (templateFullTitle.id == 0)
        then -- not found in the Template namespace, assume the main namespace
            namespace = ''
        end
    end
    -- Get the last subpage and check if it matches a known language code
    local langcode = 'en' -- default language template subpage to render
    local subpage = this.getLanguageSubpage()
    if (subpage ~= '')
    then
        -- Check if a translation of the template exists in that language; if so, put it in langcode
        local translation = mw.title.new(template .. '/' .. subpage, namespace)
        if (translation.id ~= 0)
        then
            langcode = subpage
        end
    end
    -- Copy args pseudo-table to a proper table so we can feed it to expandTemplate
    -- Then render the template
    local arguments = {}
    for k, v in pairs(frame.parent.args) do
         arguments[k] = v
         arguments[k] = v
     end
     end
Anonymous user

Navigation menu