Difference between revisions of "Module:Utilities"

From Pathfinder Wiki
Line 6: Line 6:
 
page = 'All'
 
page = 'All'
 
end
 
end
 +
local timeStart = os.clock()
 +
globalLangSuffix = frame:expandTemplate{ title = 'GetLangSuffix' }
 +
local timeEnd = os.clock()
 +
mw.log('Utilities:localize (globalLangSuffix, timeNeeded): '..globalLangSuffix..', '..timeEnd-timeStart)
 
 
 
-- check if input is a number
 
-- check if input is a number

Revision as of 21:02, 16 July 2021

Documentation for this module may be created at Module:Utilities/doc

local p = {}

function p.localize( strToTrans, langSuffix, page )
	local frame = mw.getCurrentFrame()
	if ( page == nil or page == '' ) then
		page = 'All'
	end
	local timeStart = os.clock()
	globalLangSuffix = frame:expandTemplate{ title = 'GetLangSuffix' }
	local timeEnd = os.clock()
	mw.log('Utilities:localize (globalLangSuffix, timeNeeded): '..globalLangSuffix..', '..timeEnd-timeStart)
	
	-- check if input is a number
	if ( tonumber(strToTrans) == nil ) then
		return strToTrans
	end
	
	local strFromTrans = frame:callParserFunction( '#lst', { 'Localization:'..page..langSuffix, strToTrans})
	-- did translation work?
	if ( strFromTrans ~= '') then
		return strFromTrans
	else
		-- add to error category
		-- [[Category:Missing Localization/{{{2|All}}}/{{{1|unsupplied}}}{{GetLangSuffix}}]]
		local newErrorCategory = '[[Category:Missing Localization/'..page..'/'..strToTrans..langSuffix
		local errorCategories = frame:callParserFunction( '#var', 'localizationErrorCategories' )
		frame:callParserFunction( '#vardefine', { 'localizationErrorCategories', errorCategories..newErrorCategory } )
		return nil
	end
	
end

return p