Мазмунга өтүү

Модуль:жандооч

Wiktionary долбоорунан

Documentation for this module may be created at Модуль:жандооч/doc

local p = {}

local function make_link(term, display)
    return "[[" .. term .. "|" .. (display or term) .. "]]"
end

function p.render(frame)
    local args = frame.args
    local word = args['сөз'] or mw.title.getCurrentTitle().text
    local syllables = args['муундар'] or ""
    local root = args['уңгу'] or ""
    local audio = args['аудио'] or ""
    local type_val = mw.ustring.lower(args['түрү'] or "")
    local group_val = mw.ustring.lower(args['тобу'] or "") -- Заменено на 'тобу'
    
    -- Автоматическое ЭФА
    local ipa_word = (args['эфа'] and args['эфа'] ~= "") and args['эфа'] or word
    local ipa_part = frame:preprocess('{{#invoke:эфа|render|' .. ipa_word .. '}}')

    -- Группы по падежам
    local type_map = {
        ['атооч'] = '[[атооч жөндөмө|Атооч жөндөмө]] менен колдонулуучу жандооч',
        ['барыш'] = '[[барыш жөндөмө|Барыш жөндөмө]] менен колдонулуучу жандооч',
        ['табыш'] = '[[табыш жөндөмө|Табыш жөндөмө]] менен колдонулуучу жандооч',
        ['чыгыш'] = '[[чыгыш жөндөмө|Чыгыш жөндөмө]] менен колдонулуучу жандооч'
    }

    -- Группы по природе (Чыныгы и Өтмө)
    local group_map = {
        ['чыныгы'] = '[[чыныгы жандооч|Чыныгы жандооч]]',
        ['өтмө']   = '[[өтмө жандооч|Өтмө жандооч]]'
    }

    -- Дизайн
    local res = '<div style="margin-bottom: 20px; font-size: 100%; line-height: 1.6; font-family: sans-serif;">'
    
    res = res .. "'''" .. word .. "'''\n\n"
    res = res .. "'''[[жандооч|Жандооч]]'''\n"
    
    if syllables ~= "" then 
        res = res .. "* Муундарга бөлүнүшү: '''" .. mw.ustring.gsub(syllables, "|", "-") .. "'''\n" 
    end
    if root ~= "" then 
        res = res .. "* Уңгу: '''-" .. root .. "-'''\n" 
    end
    
    if ipa_part ~= "" or audio ~= "" then
        res = res .. "* " .. ipa_part
        if audio ~= "" then 
            res = res .. " " .. frame:preprocess('{{Ky-аудио|' .. audio .. '}}') 
        end
        res = res .. "\n"
    end

    if type_map[type_val] then
        res = res .. "* Түрү (жөндөмөсү): " .. type_map[type_val] .. "\n"
    end
    
    if group_map[group_val] then
        res = res .. "* Тобу: " .. group_map[group_val] .. "\n"
    end
    
    res = res .. "</div>"
    res = res .. "[[Категория:Кыргыз тили]] [[Категория:Кыргыз жандоочтор]]"
    
    return res
end

return p