Lompat ke isi

Modul:User:Munajad.MH/lang-/sandbox

Ḍâri Wikikamus

Dokumentasi untuk modul ini dapat dibuat di Modul:User:Munajad.MH/lang-/sandbox/doc

local p = {}

function p.process(frame)
    local args = frame:getParent().args  -- Ambil argumen dari template pemanggil
    local result = {}

    -- Inisialisasi tabel kelompok
    local groups = {}
    local has_group = false
    groups[1] = {}

    for key, value in pairs(args) do
        if value and value ~= "" then
            -- Cek apakah ada parameter dengan format "x.=" untuk grup
            local group_num = tonumber(string.match(key, "^(%d+)%.=$"))
            if group_num then
                has_group = true
                groups[group_num] = groups[group_num] or {}
                table.insert(groups[group_num], value)
            else
                table.insert(groups[1], value)
            end
        end
    end

    -- Bangun output
    table.insert(result, "* bhâsa Inḍonèsia:")

    -- Jika hanya ada satu grup dan tidak ada grup bernomor, langsung sambung ke teks
    if not has_group then
        if #groups[1] > 0 then
            table.insert(result, " " .. table.concat(groups[1], ", "))
        end
    else
        table.insert(result, "\n<ol>")
        for i = 1, #groups do
            if groups[i] and #groups[i] > 0 then
                table.insert(result, string.format('<li>%s</li>', table.concat(groups[i], ", ")))
            end
        end
        table.insert(result, "</ol>")
    end

    return table.concat(result, "\n")
end

return p