Difference between revisions of "Module:Template translation"
add support for main-namespace transclusion for backcompat
>Guillom (\o/) |
>Guillom (add support for main-namespace transclusion for backcompat) |
||
Line 13: | Line 13: | ||
local template = frame.args['template'] | local template = frame.args['template'] | ||
local langcode = '/en' | local langcode = '/en' | ||
local namespace = 'Template:' | |||
-- Get the last subpage | -- Get the last subpage | ||
local subpage = mw.title.getCurrentTitle().subpageText | local subpage = mw.title.getCurrentTitle().subpageText | ||
--[[ 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 templateFullTitle = mw.title.new( template, 'Template' ) | |||
if ( templateFullTitle.id == 0) | |||
then | |||
namespace=':' | |||
end | |||
--[[ If the subpage is a valid language code, check if a translation of the | --[[ If the subpage is a valid language code, check if a translation of the | ||
Line 23: | Line 34: | ||
if ( mw.language.isKnownLanguageTag( subpage ) ) | if ( mw.language.isKnownLanguageTag( subpage ) ) | ||
then | then | ||
local translation = mw.title.new( template..'/'..subpage | local translation = mw.title.new( namespace..template..'/'..subpage ) | ||
if ( translation.id ~= 0) | if ( translation.id ~= 0) | ||
then | then | ||
Line 37: | Line 48: | ||
-- Render the template | -- Render the template | ||
return frame:expandTemplate{ title = template..langcode, args = arguments } | return frame:expandTemplate{ title = namespace..template..langcode, args = arguments } | ||
end | end | ||
return p | return p |