Difference between revisions of "Module:Template translation"
m
no edit summary
>Verdy p m |
>Verdy p m |
||
Line 18: | Line 18: | ||
]] | ]] | ||
local template = frame.args['template'] | local template = frame.args['template'] | ||
--[[Check whether the template is actually in the Template namespace, or | --[[Check whether the template is actually in the Template namespace, or | ||
if we're transcluding a main-namespace page. | if we're transcluding a main-namespace page. | ||
(added for backward compatibility of Template:TNT) | (added for backward compatibility of Template:TNT) | ||
]] | ]] | ||
local templateFullTitle = mw.title.new(template, | local namespace = 'Template' | ||
local templateFullTitle = mw.title.new(template, namespace) | |||
if (templateFullTitle.id == 0) | if (templateFullTitle.id == 0) | ||
then | then -- not found in the Template namespace, assume the main namespace | ||
namespace = ' | namespace = '' | ||
end | end | ||
local langcode = 'en' | |||
-- Get the last subpage | |||
local subpage = this.getLanguageSubpage() | |||
--[[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 | ||
template exists in that language; if so, put it in langcode. | template exists in that language; if so, put it in langcode. | ||
Line 40: | Line 41: | ||
if (mw.language.isKnownLanguageTag(subpage)) | if (mw.language.isKnownLanguageTag(subpage)) | ||
then | then | ||
local translation = mw.title.new( | local translation = mw.title.new(template .. '/' .. subpage, namespace) | ||
if (translation.id ~= 0) | if (translation.id ~= 0) | ||
then | then | ||
langcode = | langcode = subpage | ||
end | end | ||
end | end | ||
Line 53: | Line 54: | ||
end | end | ||
-- Render the template | -- Render the template | ||
return frame:expandTemplate{title = namespace .. template .. langcode, args = arguments} | return frame:expandTemplate{title = namespace .. ':' .. template .. '/' .. langcode, args = arguments} | ||
end | end | ||
return this | return this |