Difference between revisions 18626582 and 18626583 on frwiktionary

local m_languages = mw.loadData("Module:languages/alldata")
local export = {}

-- Detect the script based on the first alphabetical characters of a string
function export.detect_script(text, lang)
    local m_scripts = mw.loadData("Module:scripts/tempdata")
    
    local langinfo = m_languages[lang] or error("The language code \"" .. lang .. "\" is not valid.")
(contracted; show full)    end
    
    scFix = (langinfo.scripts[1] ~= "Zyyy" and langinfo.scripts[1] ~= "None")
    
    -- not written in native script(s); check for all scripts
    -- TODO: This is slow; we really shouldn't be doing this!
    for script, scriptinfo in pairs(m_scripts) do
        if scriptinfo.characters and mw.ustring.match(text, "[%[%d%p%s]-
[" .. scriptinfo.characters .. "]") then
            return script, scFix
        end
    end
    
    return langinfo.scripts[1], scFix
end

(contracted; show full)        i = i + 1
        cat = args[i]
    end
    
    return export.format_categories(categories, lang, sort_key)
end

return export