Difference between revisions of "Module:Template translation"

From FIThydrowiki
Jump to navigation Jump to search
what>Guillom
(isValidCode --> isKnownLanguageTag)
what>Guillom
m (bleh, forgot the one that matterq)
Line 34: Line 34:
  
 
function p.debug (frame)
 
function p.debug (frame)
     return 'subpage is valid lang code: '..tostring(mw.language.isValidCode(mw.title.getCurrentTitle().subpageText))
+
     return 'subpage is valid lang code: '..tostring(mw.language.isKnownLanguageTag(mw.title.getCurrentTitle().subpageText))
 
end
 
end
  
 
return p
 
return p

Revision as of 18:04, 24 May 2013

-- 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.isKnownLanguageTag(mw.title.getCurrentTitle().subpageText))

end

return p