>Verdy p |
>Verdy p |
Line 27: |
Line 27: |
| ]] | | ]] |
| function this.renderTranslatedTemplate(frame) | | function this.renderTranslatedTemplate(frame) |
| local template = frame.args['template']
| |
|
| |
| --[[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 namespace = 'Template'
| |
| if (frame.args['namespace']~='')--checks for namespace parameter for custom ns
| |
| then
| |
| namespace = frame.args['namespace']
| |
| else--supposes that set page is in ns10
| |
| local templateFullTitle = mw.title.new(template, namespace)
| |
| if (templateFullTitle.id == 0)
| |
| then -- not found in the Template namespace, assume the main namespace
| |
| namespace = ''
| |
| end
| |
| end
| |
|
| |
| -- Get the last subpage and check if it matches a known language code
| |
| local langcode = 'en' -- default language template subpage to render
| |
| local subpage = this.getLanguageSubpage()
| |
| if (subpage ~= '')
| |
| then
| |
| -- Check if a translation of the template exists in that language; if so, put it in langcode
| |
| local translation = mw.title.new(template .. '/' .. subpage, namespace)
| |
| if (translation.id ~= 0)
| |
| then
| |
| langcode = subpage
| |
| end
| |
| end
| |
|
| |
| -- Copy args pseudo-table to a proper table so we can feed it to expandTemplate
| |
| -- Then render the template
| |
| local arguments = {}
| |
| for k, v in pairs(frame.args) do
| |
| arguments[k] = v
| |
| end
| |
| return frame:expandTemplate{title = namespace .. ':' .. template .. '/' .. langcode, args = arguments}
| |
| end
| |
| --[[sandbox: Fix parameter list
| |
| ]]
| |
| function this.renderTranslatedTemplate2(frame)
| |
| local template = frame.args['template'] | | local template = frame.args['template'] |
|
| |
|