「モジュール: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) | ||
args.user_lang = args.user_lang or args.lang -- core.getArgs sets args.lang | |||
args.user_lang = args.user_lang or args.lang | |||
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 | ||
return missing_text_error(args) | |||
else | else | ||
return core.langWrapper(args.text_lang, args.text, args) | |||
end | end | ||
end | end | ||
return p | return p | ||
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