Module:Main
Jump to navigation
Jump to search
Documentation
get_appeal
Includes the best localised appeal subpage ofTemplate:Appeal,based on appeal name, language, and country given. Also passes the parameters to the selected appeal template for their use (e.g. in localising amounts with {{AppealAmountSwitch}})
Parameters:
appeal
- initial "Appeal-" (which was required for older links) is stripped off if presentlanguage
country
- Any other parameters to pass through to the appeal template (e.g.
sitename
)
Example:
{{#invoke:Main|get_appeal|appeal=Alan|country=CA|language=fr}}
- DisplayTemplate:Appeal/Alan/fr/CAif it exists, else
- displayTemplate:Appeal/Alan/frif it exists, else
- displayTemplate:Appeal/Alan/enif it exists, else
- displayTemplate:Appeal/default/frif it exists, else
- displayTemplate:Appeal/default/en
Replaces {{2012FR/Switch/Appeal}}
get_infobox
Does basically the same thing for subpages ofTemplate:Infobox
Replaces {{2012FR/Switch/Infobox}}
get_tax_message
Code should be fairly self explanatory. Allows overriding the default message for certain countries.
page_language
Return the language code of the current subpage. If it isn't a subpage, or isn't a valid language code, return 'en'.
-- Single utility module. Break this into separate modules if it gets too large.
localp={}-- p stands for package
functionp.get_appeal(frame)
localappeal_name=string.gsub(frame.args.appeal,'Appeal%-','')
locallanguage=frame.args.language
localcountry=frame.args.country
localp1=mw.title.new('Template:Appeal/'..appeal_name..'/'..language..'/'..country)
localp2=mw.title.new('Template:Appeal/'..appeal_name..'/'..language)
localp3=mw.title.new('Template:Appeal/'..appeal_name..'/en')
localp4=mw.title.new('Template:Appeal/default/'..language)
localp5=mw.title.new('Template:Appeal/default/en')
ifp1.existsthen
page=p1
elseifp2.existsthen
page=p2
elseifp3.existsthen
page=p3
elseifp4.existsthen
page=p4
else
page=p5
end
localexpanded=frame:expandTemplate{title=page,args=frame.args}
returnexpanded
end
functionp.get_infobox(frame)
localinfobox_name=frame.args.infobox
locallanguage=frame.args.language
localcountry=frame.args.country
localp1=mw.title.new('Template:Infobox/'..infobox_name..'/'..language..'/'..country)
localp2=mw.title.new('Template:Infobox/'..infobox_name..'/'..language)
localp3=mw.title.new('Template:Infobox/'..infobox_name..'/en')
localp4=mw.title.new('Template:Infobox/Default/'..language)
localp5=mw.title.new('Template:Infobox/Default/en')
ifp1.existsthen
page=p1
elseifp2.existsthen
page=p2
elseifp3.existsthen
page=p3
elseifp4.existsthen
page=p4
else
page=p5
end
localexpanded=frame:expandTemplate{title=page,args=frame.args}
returnexpanded
end
functionp.get_tax_message(frame)
localtax_message=frame.args.tax_message
locallanguage=frame.args.language
localcountry=frame.args.country
if(tax_message==''andcountry=='FR')then
tax_message='FR'
end
localp1=mw.title.new('Template:Footer/Tax/'..tax_message..'/'..language)
localp2=mw.title.new('Template:Footer/Tax/LinkOnly')
ifp1.existsthen
page=p1
else
page=p2
end
localexpanded=frame:expandTemplate{title=page,args=frame.args}
returnexpanded
end
functionp.page_language(frame)
localfull_title=mw.title.getCurrentTitle().prefixedText
localt=mw.text.split(full_title,'/')
locallang=t[#t]
ifmw.language.isKnownLanguageTag(lang)then
returnlang
else
return'en'
end
end
returnp