Modul:guessLanguage

A Wikiszótárból, a nyitott szótárból

A modult a Modul:guessLanguage/doc lapon tudod dokumentálni

-- Function to guess the language based on its writing system
local p = {}
function p.guessLanguage()
	local text = mw.title.getCurrentTitle().text
    -- Define character sets for different languages
    local languages = {
        {"en", "[a-zA-Z]"},
        {"es", "[a-zA-ZñÑáéíóúüÁÉÍÓÚÜ]"},
        {"fr", "[a-zA-ZàâçéèêëîïôûùüÿñæœÀÂÇÉÈÊËÎÏÔÛÙÜŸŒ]"},
        {"de", "[a-zA-ZäöüÄÖÜß]"},
        {"ru", "[а-яА-ЯёЁ]"},
        {"uk", "[а-щА-ЩЬьЮюЯяЇїІіЄєҐґ]"},
        {"hu", "[a-zA-ZáéíóöőúüűÁÉÍÓÖŐÚÜŰ]"},
        {"ar", "[آأإابتثجحخدذرزسشصضطظعغفقكلمنهوية]"}
       
        -- Add more languages and their respective character sets as needed
    }

    -- Check the text against each language's character set
    for _, lang in ipairs(languages) do
        local language, charset = lang[1], lang[2]
        local matched = true
        for char in text:gmatch(".") do
            if not char:match(charset) then
                matched = false
                break
            end
        end
        if matched then
            return language
        end
    end

    -- If no language matches, return "Unknown"
    return "Unknown"
end

return p