Modul:Dil

Wiktionary saytından

Dil modulu azərbaycanca Vikisözlüyün işləməsini təmin edən ən başlıca moduldur.


local Cixaris = {}

local Diller = require ('Modul:Dil/Verilənlər')

local sub = mw.ustring.sub

function Cixaris.dilAdi (frame)
    return Cixaris._dilAdi (frame.args [1], frame.args [2])
end

function Cixaris.dilKodu (frame)
    return Cixaris._dilKodu (frame.args [1])
end

function Cixaris._dilAdi (Kod, Yarim)
    Kod = Kod:lower ()

    if not Yarim or tostring (Yarim):len () == 0 then Yarim = nil end

    if Diller [Kod] then
        local Dil = Diller [Kod]

        if Yarim then return sub (Dil, 1, Dil:len () - 3) else return Dil end
    else
        return error ('Yanlış dil kodu')
    end

    for Dil in pairs (Diller) do
        if (Diller [Dil].Im == Kod) then
             local Ad = Diller [Dil].Ad
             
             if Yarim then
                 return sub (Ad, 1, Ad:len () - 3)
             else
                 return Ad
             end
        end
    end
end

function Cixaris._dilKodu (Ad)
    Ad = Ad:lower ()

    for Dil in pairs (Diller) do
        if Diller [Dil].Ad == Ad or Diller [Dil].Ad == sub (Ad, 1, Ad:len () - 3) then
            return Diller [Dil].Im
        end
    end
end

return Cixaris