Bikarhêner:Şêr/hejmarên kurdî (lua)

function zahl_in_kurdisch(zahl)
    local kurdische_namen = {
        ["0"] = "sifir",
        ["1"] = "yek",
        ["2"] = "du",
        ["3"] = "sê",
        ["4"] = "çar",
        ["5"] = "pênc",
        ["6"] = "şeş",
        ["7"] = "heft",
        ["8"] = "heşt",
        ["9"] = "neh",
        ["10"] = "deh",
        ["11"] = "yazdeh",
        ["12"] = "dozdeh",
        ["13"] = "sêzdeh",
        ["14"] = "çardeh",
        ["15"] = "pazdeh",
        ["16"] = "şazdeh",
        ["17"] = "hevdeh",
        ["18"] = "hejdeh",
        ["19"] = "nozdeh",
        ["20"] = "bîst",
        ["30"] = "sî",
        ["40"] = "çil",
        ["50"] = "pêncî",
        ["60"] = "şêst",
        ["70"] = "heftê",
        ["80"] = "heştê",
        ["90"] = "nod",
        ["100"] = "sed",
        ["200"] = "du sed",
        ["300"] = "sê sed",
        ["400"] = "çar sed",
        ["500"] = "pênc sed",
        ["600"] = "şeş sed",
        ["700"] = "heft sed",
        ["800"] = "heşt sed",
        ["900"] = "neh sed",
        ["1000"] = "hezar",
        ["2000"] = "du hezar",
        ["3000"] = "sê hezar",
        ["4000"] = "çar hezar",
        ["5000"] = "pênc hezar",
        ["6000"] = "şeş hezar",
        ["7000"] = "heft hezar",
        ["8000"] = "heşt hezar",
        ["9000"] = "neh hezar",
        ["10000"] = "deh hezar",  -- Zehntausender hier
        ["20000"] = "bîst hezar",
        ["30000"] = "sî hezar",
        ["40000"] = "çil hezar",
        ["50000"] = "pêncî hezar",
        ["60000"] = "şêst hezar",
        ["70000"] = "heftê hezar",
        ["80000"] = "heştê hezar",
        ["90000"] = "nod hezar",
        ["100000"] = "sed hezar",  -- Hunderttausender hier
        ["1000000"] = "milyonek",  -- Hunderttausender hier
    }

    if zahl < 10 then
        return kurdische_namen[tostring(zahl)] or ''
    elseif zahl < 20 then
        return kurdische_namen[tostring(zahl)] or ''
    elseif zahl < 100 then
        local zehner = kurdische_namen[tostring(math.floor(zahl / 10) * 10)] or ''
        local einer = kurdische_namen[tostring(zahl % 10)] or ''
        return zehner .. (einer ~= 'sifir' and " û " .. einer or '')
    elseif zahl < 1000 then
        local hunderter = kurdische_namen[tostring(math.floor(zahl / 100) * 100)] or ''
        local rest = zahl % 100
        return hunderter .. (rest ~= 0 and " û " .. zahl_in_kurdisch(rest) or '')
    elseif zahl < 10000 then
        local tausender = kurdische_namen[tostring(math.floor(zahl / 1000) * 1000)] or ''
        local rest = zahl % 1000
        return tausender .. (rest ~= 0 and " û " .. zahl_in_kurdisch(rest) or '')
    elseif zahl < 100000 then
        local zehntausender = kurdische_namen[tostring(math.floor(zahl / 10000) * 10000)] or ''
        local rest = zahl % 10000
        return zehntausender .. (rest ~= 0 and " û " .. zahl_in_kurdisch(rest) or '')
    elseif zahl < 1000000 then
        local hunderttausender = kurdische_namen[tostring(math.floor(zahl / 100000) * 100000)] or ''
        local rest = zahl % 100000
        return hunderttausender .. (rest ~= 0 and " û " .. zahl_in_kurdisch(rest) or '')
    elseif zahl < 10000000 then
        local million = kurdische_namen[tostring(math.floor(zahl / 1000000) * 1000000)] or ''
        local rest = zahl % 1000000
        return million .. (rest ~= 0 and " û " .. zahl_in_kurdisch(rest) or '')
    else
        return "Zu groß für diese Implementierung"
    end
end

-- Eingabe mehrerer Zahlen
io.write("Gib mehrere Zahlen durch Kommas getrennt ein: ")
local eingabe = io.read()

-- Überprüfen, ob die Eingabezeichenkette nicht leer und nicht nur Leerzeichen ist
if eingabe:match("^%s*$") then
    print("Bitte gültige Zahlen eingeben.")
else
       -- Die eingegebene Zeichenkette in eine Liste von Zahlen konvertieren
    local zahlen = {}
    for x in eingabe:gmatch("%s*([^,]+)%s*,?%s*") do
        table.insert(zahlen, tonumber(x))
    end

    -- Überprüfen, ob die Liste gültige Zahlen enthält
    if #zahlen == 0 then
        print("Bitte gültige Zahlen eingeben.")
    else
        -- Verarbeitung und Ausgabe der kurdischen Namen für jede Zahl
        for _, zahl in ipairs(zahlen) do
            local kurdischer_name = zahl_in_kurdisch(zahl)
            print(string.format("%d: %s", zahl, kurdischer_name))
        end
    end
end