Модуль:тектеш сөздөр
Көрүнүш
Documentation for this module may be created at Модуль:тектеш сөздөр/doc
local p = {}
-- Тексттин талааларын аныктоо
local fields = {
{keys = {"зат-атоочтор","nouns"}, ky = "Зат атоочтор", en = "Nouns"},
{keys = {"сын-атоочтор","adjectives"}, ky = "Сын атоочтор", en = "Adjectives"},
{keys = {"этиштер","verbs"}, ky = "Этиштер", en = "Verbs"},
{keys = {"тактоочтор","adverbs"}, ky = "Тактоочтор", en = "Adverbs"},
{keys = {"эркелетүү","diminutive"}, ky = "Эркелетүү/Кичирейтүү", en = "Diminutive/Affection"},
{keys = {"кемсинтүү","pejorative"}, ky = "Кемсинтүү", en = "Pejorative"},
{keys = {"чоңойтуу","augmentive"}, ky = "Чоңойтуу", en = "Augmentative"},
{keys = {"формалары","otherforms"}, ky = "Башка формалары", en = "Other forms"},
{keys = {"1","extra"}, ky = "", en = ""}
}
-- Параметрлерди алуу функциясы
local function getParam(args, names)
for _, n in ipairs(names) do
local v = args[n]
if v and v:match("%S") then return v end
end
return nil
end
-- Негизги функция
function p.make(frame)
local parent = frame:getParent()
local args = (parent and parent.args) or frame.args or {}
local lang = (args["lang"] or args["язык"] or "ky"):lower()
local showBoth = (lang == "both")
local labelsInEnglish = (lang == "en")
local parts = {}
for _, f in ipairs(fields) do
local val = getParam(args, f.keys)
if val then
if f.keys[1] == "1" then
table.insert(parts, "* " .. val)
else
local label
if showBoth then label = f.ky .. " / " .. f.en .. ":"
elseif labelsInEnglish then label = f.en .. ":"
else label = f.ky .. ":" end
table.insert(parts, "* '''" .. label .. "''' " .. val)
end
end
end
if #parts == 0 then return "" end
local content = table.concat(parts, "\n")
local h_bg = '#DEDEDE' -- Шапканын түсү
local t_bg = '#F9F9F9' -- Фондун түсү
local b_color = '#aaaaaa' -- Рамканын түсү
local result = '\n<div style="clear:both; width:100%; margin-top:20px; text-align:left;">'
result = result .. '<div style="font-size: 1.2em; font-family: sans-serif; font-weight: bold; margin-bottom: 10px; border-bottom: 1px solid #a2a9b1; padding-bottom: 3px; color: #000;">Тектеш сөздөрү</div>'
result = result .. '<div class="mw-collapsible mw-collapsed" style="width: 100%; border: 1px solid ' .. b_color .. '; background: ' .. t_bg .. '; font-size: 92%; font-family: sans-serif;">'
result = result .. '<div style="background: ' .. h_bg .. '; padding: 4px 10px; font-weight: bold; text-align: left; border-bottom: 1px solid ' .. b_color .. ';">Жакын тектеш сөздөрү</div>'
result = result .. '<div class="mw-collapsible-content" style="padding: 10px; background: ' .. t_bg .. ';">\n' .. content .. '\n</div></div></div>'
return result
end
return p