Difference between revisions of "Module:TranslateThis"
From BDI Data
(debugging) |
(fix) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
result = '<span lang="' .. lang .. '">' .. result .. '</span>' | result = '<span lang="' .. lang .. '">' .. result .. '</span>' | ||
else | else | ||
− | local default = ' | + | local default = '' |
for i, v in pairs( args ) do | for i, v in pairs( args ) do | ||
if v ~= "" then | if v ~= "" then |
Revision as of 17:47, 7 February 2017
Documentation for this module may be created at Module:TranslateThis/doc
local fb = require('Module:Fallback') return { main = function( frame ) function shallowcopy(orig) if type(orig) ~= 'table' then return orig end local result = {} for key, value in pairs(orig) do result[key] = value end return result end local lang = frame:preprocess("{{int:lang}}") -- I don't know of any other way to get the user's language... local args = shallowcopy(frame:getParent().args) local anchor = args.anchor args.anchor = nil if (anchor and args[anchor]) then anchor = args[anchor] end anchor = anchor and frame:expandTemplate( { title = "Anchor", args = { anchor } } ) or '' local result = args[ lang ] if result and result ~= '' then result = '<span lang="' .. lang .. '">' .. result .. '</span>' else local default = '' for i, v in pairs( args ) do if v ~= "" then default = default .. ' / <span lang="' .. i .. '">' .. v .. '</span> <small>(' .. i .. ')</small>' end end default = default:sub( 4 ) args.default=default local newlang result, newlang = fb._langSwitch(args, lang) if not newlang then result = '' elseif newlang~='default' then result = '<span lang="' .. newlang .. '">' .. result .. '</span> <small>(' .. newlang .. ')</small>' end local langname = mw.language.fetchLanguageName( lang, lang ) if langname ~= "" and newlang then result = result .. " – " .. frame:expandTemplate( { title = "Help translate", args = { langname } } ) end end return anchor .. result end}