Difference between revisions of "Module:Template translation"
m
no edit summary
>Verdy p m |
>Verdy p m |
||
Line 4: | Line 4: | ||
-- Get the last subpage (this function isolated for debugging purpose) | -- Get the last subpage (this function isolated for debugging purpose) | ||
local subpage = mw.title.getCurrentTitle().subpageText | 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. | |||
function | Check first if there's an apostrophe, because they break the | ||
isKnownLanguageTag function. | |||
]] | |||
if (type(mw.ustring.match(subpage, "'")) == nil) | |||
then | |||
if (mw.language.isKnownLanguageTag(subpage)) | |||
then | |||
return subpage | |||
end | |||
end | |||
return '' | |||
end | end | ||
function this.renderTranslatedTemplate(frame) | function this.renderTranslatedTemplate(frame) | ||
--[[If on a translation subpage (like Foobar/de), this function renders | --[[If on a translation subpage (like Foobar/de), this function renders | ||
Line 28: | Line 37: | ||
namespace = '' | namespace = '' | ||
end | end | ||
local langcode = 'en' | local langcode = 'en' | ||
-- Get the last subpage | -- Get the last subpage | ||
local subpage = this.getLanguageSubpage() | local subpage = this.getLanguageSubpage() | ||
if (subpage ~= '') | |||
if | |||
then | then | ||
langcode = subpage | |||
end | end | ||
-- Copy args pseudo-table to a proper table so we can feed it to expandTemplate | -- Copy args pseudo-table to a proper table so we can feed it to expandTemplate |