Difference between revisions of "Module:Utilities"
From Pathfinder Wiki
DesignerThan (talk | contribs) |
DesignerThan (talk | contribs) |
||
Line 3: | Line 3: | ||
function p.localize( strToTrans, page ) | function p.localize( strToTrans, page ) | ||
local frame = mw.getCurrentFrame() | local frame = mw.getCurrentFrame() | ||
− | mw.log('Utilities.localize (strToTrans, page - input): '..strToTrans..', '..tostring(page)) | + | if ( strToTrans == nil or strToTrans == '' ) then |
+ | mw.log( 'Utilities.localize: There is no string to translate! Returning empty string.' ) | ||
+ | return '' | ||
+ | end | ||
+ | mw.log( 'Utilities.localize (strToTrans, page - input): '..strToTrans..', '..tostring(page) ) | ||
if ( page == nil or page == '' ) then | if ( page == nil or page == '' ) then | ||
page = 'All' | page = 'All' |
Revision as of 16:06, 18 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 ( strToTrans == nil or strToTrans == '' ) then
mw.log( 'Utilities.localize: There is no string to translate! Returning empty string.' )
return ''
end
mw.log( 'Utilities.localize (strToTrans, page - input): '..strToTrans..', '..tostring(page) )
if ( page == nil or page == '' ) then
page = 'All'
end
mw.log('Utilities.localize (page - checked): '..page)
-- 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 = 'PAGELANGUAGE' }
local langSuffix = frame:preprocess( '/{{PAGELANGUAGE}}' )
mw.log('Utilities.localize (langSuffix): '..langSuffix)
-- check if input is a number
if ( tonumber(strToTrans) ~= nil ) then
mw.log('Utilities.localize: Input String is a number, return it!')
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 strToTrans
end
end
return p