「モジュール:Description」の版間の差分

提供:脳科学辞典
ナビゲーションに移動 検索に移動
(1版 をインポートしました)
bsd>Jarekt
(code cleanup)
16行目: 16行目:
local core = require('Module:Core')
local core = require('Module:Core')
local p = {}
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)  
function p.description(frame)  
local args = core.getArgs(frame)
local args = core.getArgs(frame)
local desc
args.user_lang = args.user_lang or args.lang -- core.getArgs sets args.lang
args.user_lang = args.user_lang or args.lang
args.inline    = (args.inline ~= nil) -- convert to boolean
if args.text == nil then -- if no string than add error message and a category
if args.text == nil then -- if no string than add error message and a category
-- <span class="plainlinks">[{{fullurl:Category:Language templates with no text displayed}} <span class="error">{{Description/i18n}}</span>]</span>
return missing_text_error(args)  
local cat = 'Category:Language templates with no text displayed'
local msg  = core.formatMessage('I18n/DescriptionError.tab', 'missing text', lang)
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
else
else
desc = core.langWrapper(args.text_lang, args.text, args)
return core.langWrapper(args.text_lang, args.text, args)
end
end
return desc
end
end


return p
return p
--[[
Oddballs:
 
]]

2022年5月12日 (木) 04:55時点における版

Equivalent to {{Description}}. For example {{en|1=Hello}} is equivalent to {{#invoke:Description|description|text=hello|text_lang=en}}


--[[  
  __  __           _       _        ____                      _       _   _             
 |  \/  | ___   __| |_   _| | ___ _|  _ \  ___  ___  ___ _ __(_)_ __ | |_(_) ___  _ __  
 | |\/| |/ _ \ / _` | | | | |/ _ (_) | | |/ _ \/ __|/ __| '__| | '_ \| __| |/ _ \| '_ \ 
 | |  | | (_) | (_| | |_| | |  __/_| |_| |  __/\__ \ (__| |  | | |_) | |_| | (_) | | | |
 |_|  |_|\___/ \__,_|\__,_|_|\___(_)____/ \___||___/\___|_|  |_| .__/ \__|_|\___/|_| |_|
                                                               |_|                      

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