Module:Template translation

-- THIS IS A WORK IN PROGRESS. DO NOT USE.

local p = {}

function p.renderTranslatedTemplate(frame) -- 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.        This is aimed at replacing Template:TNT.

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.isKnownLanguageTag( subpage ) ) then local translation = mw.title.new( frame[template]..'/'..subpage, 'Template' ) if ( translation.id ~= 0) then langcode='/'..subpage end end

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

function p.debug (frame) return 'subpage is valid lang code: '..tostring(mw.language.isValidCode(mw.title.getCurrentTitle.subpageText)) end

return p