Jump to content
Toggle menu
  • 8 articles
  • 75 files
  • 7 users
  • 37.8K edits
Neodyland Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Multilingual description: Difference between revisions

From Neodyland Wiki
m Protected Module:Multilingual description: Widely used template ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only administrators] (indefinite))
m split some logic so we can run a simple test
Line 1: Line 1:
local p = {}
local p = {}


function p.mld(frame)
function mld(pargs)
local args, pargs = frame.args, ( frame:getParent() or {} ).args or {}
local sorting = require('Module:Multilingual description/sort')
local sorting = require('Module:Multilingual description/sort')
local processed = {}
local processed = {}
Line 20: Line 19:
end
end


return frame:preprocess(table.concat(ret))
return table.concat(ret)
end
 
function p.mld(frame)
local pargs = ( frame:getParent() or {} ).args or {}
 
return frame:preprocess( mld(pargs) )
end
 
function p.runTests()
local expected = '{{ls|de|Leipzig ist|classes=description}}{{ls|en|Leipzig is|classes=description}}{{ls|fr|Leipzig est|classes=description}}{{ls|hsb|Lipsk je|classes=description}}{{ls|oc|Leipzig es|classes=description}}'
local input = { ['fr'] = 'Leipzig est', ['en'] = 'Leipzig is', ['hsb'] = 'Lipsk je', ['de'] = 'Leipzig ist', ['oc'] = 'Leipzig es' }
return mld(input) == expected
end
end


return p
return p

Revision as of 22:35, 27 February 2014

Module documentation[ create · purge ]
local p = {}

function mld(pargs)
	local sorting = require('Module:Multilingual description/sort')
	local processed = {}
	local ret = {}
	
	for k, v in pairs( sorting ) do
		if pargs[v] then
			table.insert(ret, '{{ls|' .. v .. '|' .. pargs[v] .. '|classes=description}}')
		end
		processed[v] = 1
	end

	for k, v in pairs( pargs ) do
		if not processed[k] and mw.language.isSupportedLanguage(k) then
			table.insert(ret, '{{ls|' .. k .. '|' .. v .. '|classes=description}}')
		end
	end

	return table.concat(ret)
end

function p.mld(frame)
	local pargs = ( frame:getParent() or {} ).args or {}

	return frame:preprocess( mld(pargs) )
end

function p.runTests()
	local expected = '{{ls|de|Leipzig ist|classes=description}}{{ls|en|Leipzig is|classes=description}}{{ls|fr|Leipzig est|classes=description}}{{ls|hsb|Lipsk je|classes=description}}{{ls|oc|Leipzig es|classes=description}}'
	local input = { ['fr'] = 'Leipzig est', ['en'] = 'Leipzig is', ['hsb'] = 'Lipsk je', ['de'] = 'Leipzig ist', ['oc'] = 'Leipzig es' }
	return mld(input) == expected
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.