Difference between revisions of "Module:Template translation"

From Confrontation.wiki
Jump to navigation Jump to search
en>Guillom
(test init)
 
en>Guillom
(first stab)
Line 1: Line 1:
local p = {}
local p = {}
function p.hello(frame)
 
     return 'Hello'
function p.renderTranslatedTemplate(frame, template)
    --[[ If on a translation subpage (like Foobar/de), this function renders
        a given template in the same language, if the translation is available.
        Otherwise, the template is rendered in its default language, without
        modification.]]
      
    local langcode = ''
   
    -- Get the last subpage
    local subpage = mw.title.getCurrentTitle().subpageText
   
    --[[ If the subpage is a valid language code, check if a translation of the
        template exists in that language; if so, put it in langcode ]]
   
    if ( mw.language.isValidCode( subpage ) )
    then
        local translation = mw.title.new( template..'/'..subpage, 'Template' )
        if ( translation.id ~= 0)
        then
            langcode='/'..subpage
        end
    end
 
    -- Render the template
    frame:expandTemplate{ title = template..langcode, args = frame.args }
   
end
end
return p
return p

Revision as of 16:23, 24 May 2013

Documentation for this module may be created at Module:Template translation/doc

local p = {}

function p.renderTranslatedTemplate(frame, template)
    --[[ If on a translation subpage (like Foobar/de), this function renders
        a given template in the same language, if the translation is available.
        Otherwise, the template is rendered in its default language, without
        modification.]]
    
    local langcode = ''
    
    -- Get the last subpage
    local subpage = mw.title.getCurrentTitle().subpageText
    
    --[[ If the subpage is a valid language code, check if a translation of the
        template exists in that language; if so, put it in langcode ]]
    
    if ( mw.language.isValidCode( subpage ) )
    then
        local translation = mw.title.new( template..'/'..subpage, 'Template' )
        if ( translation.id ~= 0)
        then
            langcode='/'..subpage
        end
    end

    -- Render the template
    frame:expandTemplate{ title = template..langcode, args = frame.args }
    
end

return p