Modulo:IsLatin

Da Wikivoyage.

Esempi di utilizzo[modifica]

Testo Codice Risultato
Sport {{#invoke:IsLatin|IsLatin|Sport}}
Ştefăneşti {{#invoke:IsLatin|IsLatin|Ştefăneşti}}
大谷川ユースホステル {{#invoke:IsLatin|IsLatin|大谷川ユースホステル}} no
55 EUR {{#invoke:IsLatin|IsLatin|55 EUR}}
£55 {{#invoke:IsLatin|IsLatin|£55}}
55$ {{#invoke:IsLatin|IsLatin|55$}}
55€ {{#invoke:IsLatin|IsLatin|55€}}

--[[
	Source script:	https://it.wikivoyage.org/wiki/Modulo:IsLatin
	Maintainer:		Andyrom75
]]
local function _isDefined(s)
	return s ~= '' and s
end

local p = {}

function p.IsLatin(frame)
	return frame.args and p.IsLatinValue(frame.args[1]) or ''
end

function p.IsLatinValue(txt)
	if _isDefined(txt) then
		local len = mw.ustring.len(txt)
		local pos = 1
		while ( pos <= len ) do
			charval = mw.ustring.codepoint(mw.ustring.sub(txt, pos))
			-- note 8364 is the € symbol
			if charval>687 and charval~=8364 then
				return "no"
			end 
			pos = pos + 1
		end
		return "sì"
	else
		return ''
	end
end

return p