Module:Description
From WWII Archives
Documentation for this module may be created at Module:Description/doc
--[[ __ __ _ _ ____ _ _ _ | \/ | ___ __| |_ _| | ___ _| _ \ ___ ___ ___ _ __(_)_ __ | |_(_) ___ _ __ | |\/| |/ _ \ / _` | | | | |/ _ (_) | | |/ _ \/ __|/ __| '__| | '_ \| __| |/ _ \| '_ \ | | | | (_) | (_| | |_| | | __/_| |_| | __/\__ \ (__| | | | |_) | |_| | (_) | | | | |_| |_|\___/ \__,_|\__,_|_|\___(_)____/ \___||___/\___|_| |_| .__/ \__|_|\___/|_| |_| |_| Description is a module implementing functionality of {{Description}} template, which is used by {{en}}, {{de}} and other language templates. Authors and maintainers: * User:Jarekt ]] local core = require('Module:Core') local p = {} ------------------------------------------------------------------------------ local function missing_text_error(args) -- Empty text field -> display error message and add maintenance category -- <span class="plainlinks">[{{fullurl:Category:Language templates with no text displayed}} <span class="error">{{Description/i18n}}</span>]</span> local cat = 'Category:Language templates with no text displayed' local msg = core.formatMessage('I18n/DescriptionError.tab', 'missing text', args.user_lang) local frame = mw.getCurrentFrame() msg = mw.html.create('span'):addClass("error"):wikitext(msg) msg = '[' .. frame:callParserFunction{ name = 'fullurl', args={cat} } .. tostring(msg) .. ']' msg = mw.html.create('span'):addClass("plainlinks"):wikitext(msg) desc = core.langWrapper(args.text_lang, tostring(msg), args) local namespace = mw.title.getCurrentTitle().namespace local LUT = {[0]=1, [6]=1, [10]=1, [14]=1, [100]=1, [106]=1} if LUT[namespace]==1 then desc = desc .. '[[' .. cat .. ']]' end return desc end ------------------------------------------------------------------------------ function p.description(frame) local args = core.getArgs(frame) args.user_lang = args.user_lang or args.lang -- core.getArgs sets args.lang if args.text == nil then -- if no string than add error message and a category return missing_text_error(args) else return core.langWrapper(args.text_lang, args.text, args) end end return p