Difference between revisions of "Module:Template translation"
Jump to navigation
Jump to search
en>Guillom m (testing: subpage is valid lang code?) |
en>Guillom (isValidCode --> isKnownLanguageTag) |
||
Line 19: | Line 19: | ||
template exists in that language; if so, put it in langcode ]] | template exists in that language; if so, put it in langcode ]] | ||
− | if ( mw.language. | + | if ( mw.language.isKnownLanguageTag( subpage ) ) |
then | then | ||
local translation = mw.title.new( frame[template]..'/'..subpage, 'Template' ) | local translation = mw.title.new( frame[template]..'/'..subpage, 'Template' ) |
Revision as of 19:58, 24 May 2013
Documentation for this module may be created at Module:Template translation/doc
-- 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