Modul:guessLanguage
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