Модуль:Title transformations
Бул модул
- багытталды Калып:Tl менен иштейт.
-- Бул модул {{башжазуу}} менен иштейт
local p = {}
function p._main(args, frame, title)
args = args or {}
frame = frame or mw.getCurrentFrame()
title = title or mw.title.getCurrentTitle()
local italics, italicsAll, lowerCase = false, false, false
for k, v in pairs(args) do
if type(k) == 'number' then
if v == 'кичинекей тамга менен' or v == 'кичине тамга менен' or v == 'чоң эмес тамга менен' or v == 'ири эмес тамга менен' then
lowerCase = true
end
if v == 'курсив менен' then
italics = true
italicsAll = false
end
if v == 'толук курсив менен' then
italicsAll = true
italics = false
end
end
end
local result = title.text
if lowerCase then
result = mw.language.getContentLanguage():lcfirst(result)
end
if italics or italicsAll then
local prefix, parentheses = mw.ustring.match(result, '^(.+) (%([^%(%)]+%))$')
if prefix and parentheses and italicsAll == false then
result = string.format("<i>%s</i> %s", prefix, parentheses)
else
result = string.format("<i>%s</i>", result)
end
end
if title.namespace ~= 0 then
result = title.nsText:gsub('_', ' ') .. ':' .. result
end
if args['башжазуу'] then
return result
else
return frame:callParserFunction('DISPLAYTITLE', result, 'noerror')
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Калып:Башжазуу'
})
local title
if args['заголовок'] then
title = mw.title.new(args['башжазуу'])
end
return p._main(args, frame, title)
end
return p