Difference between revisions of "Module:Utilities"

From Pathfinder Wiki
Line 6: Line 6:
 
page = 'All'
 
page = 'All'
 
end
 
end
local timeStart = os.clock()
+
 +
-- called every time ... shouldn't be a time issue needs between 40 and 80 microseconds
 
local langSuffix = frame:expandTemplate{ title = 'GetLangSuffix' }
 
local langSuffix = frame:expandTemplate{ title = 'GetLangSuffix' }
local timeEnd = os.clock()
 
mw.log('Utilities:localize (langSuffix, timeNeeded): '..langSuffix..', '..timeEnd-timeStart)
 
 
 
 
-- check if input is a number
 
-- check if input is a number

Revision as of 22:18, 16 July 2021

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

local p = {}

function p.localize( strToTrans, page )
	local frame = mw.getCurrentFrame()
	if ( page == nil or page == '' ) then
		page = 'All'
	end
	
	-- called every time ... shouldn't be a time issue needs between 40 and 80 microseconds
	local langSuffix = frame:expandTemplate{ title = 'GetLangSuffix' }
	
	-- 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