Module:Language/scripts

From Eat Every Plant
Jump to navigation Jump to search

local p = {}

local gsub = mw.ustring.gsub local length = mw.ustring.len

local data = require("Module:Language/scripts/data")

function p.print(frame) local scriptCode = frame.args[1] local scriptData = scriptCode and data[scriptCode] or "Please supply a valid script code." local characters = scriptData and scriptData.characters or "No characters found for " .. scriptCode .. "." return characters end

local script = {}

-- Based on the Script:countCharacters() function of Module:scripts on Wiktionary local function countCharacters(text, scriptCode) if not data[scriptCode]["characters"] then return 0 else local _, count = gsub(text, "[" .. data[scriptCode]["characters"] .. "]", "") return count end end

function p.isLatn(text) if type(tostring(text)) == "string" then local count = countCharacters(text, "Latn") if count < (length(text) / 4) then -- Only 25% of characters in string are Latin return false else return true end else return nil end end

function p.Latin(frame) local text = frame.args[1] return p.isLatn(text) end

return p