Difference between revisions of "Module:Template translation"

Jump to navigation Jump to search
m
no edit summary
en>Verdy p
m
en>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
     return subpage
     --[[If the subpage is a valid language code, check if a translation of the
end
        template exists in that language; if so, put it in langcode.
function this.isKnownLanguage(frame)
        Check first if there's an apostrophe, because they break the
     -- (this function isolated for debugging purpose)
        isKnownLanguageTag function.
     return mw.language.isKnownLanguageTag(frame.args['language'])
        ]]
     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 the subpage is a valid language code, check if a translation of the
     if (subpage ~= '')
        template exists in that language; if so, put it in langcode.
        Check first if there's an apostrophe, because they break the
        isKnownLanguageTag function.
        ]]
     if (type(mw.ustring.match(subpage, "'")) == nil)
     then
     then
         if (mw.language.isKnownLanguageTag(subpage))
         langcode = subpage
        then
            local translation = mw.title.new(template .. '/' .. subpage, namespace)
            if (translation.id ~= 0)
            then
                langcode = subpage
            end
        end
     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
Anonymous user

Navigation menu