Módulo:generar-pron/kuz

Hola, siéntete bienvenido o bienvenida, has llegado hasta esta web tratando de encontrar la definición de la palabra Módulo:generar-pron/kuz. En Dictious no solo dispondrás de la posibilidad de descubrir la totalidad de las acepciones reconocidas por el diccionario de la palabra Módulo:generar-pron/kuz, sino que además también te hablaremos de su etimología, sus peculiaridades y aprenderás la manera en que se dice la palabra Módulo:generar-pron/kuz en singular y en plural. Íntegramente, cualquier aspecto que se debe saber sobre la palabra Módulo:generar-pron/kuz lo tienes en Dictious. La definición de Módulo:generar-pron/kuz te será de utilidad a ser más concreto y pertinente cuando sea la hora de hablar o componer tus documentos. Saber la definición deMódulo:generar-pron/kuz, del mismo modo que las de otros términos, incrementan el vocabulario y nos confieren de mayores y mejores capacidades lingüísticas.

La documentación para este módulo puede ser creada en Módulo:generar-pron/kuz/doc

-- PRONUNCIACIÓN PARA EL KUNZA
-- Autores: Tmagc y Pcartes

local export = {}

local insert = table.insert
local concat = table.concat

local m_str = require("Módulo:String")

local u = m_str.char
local strfind = m_str.find
local strsubn = m_str.gsub
local strsubb = m_str.gsubb
local strsubrep = m_str.gsub_rep
local strlower = m_str.lower
local strstrip = m_str.strip
local strsplit = m_str.split
local strhtml = m_str.encode_html

--CONVENCION: mayúscula para patrones encerrados entre corchetes, minúscula para todo lo demás
local ac_primario = u(0x02C8)
local ac_secundario = u(0x02CC)

local acentos_ipa = ac_primario..ac_secundario
local ACENTOS_IPA = ""

local divsil = u(0xFFF0)
local sepsil = "%-." .. divsil
local SEPARADORES_SILABICOS = ""
local SALVO_SEPARADORES_SILABICOS = ""
local seppal = "# "
local separador_excepto_palabras = acentos_ipa .. sepsil
local separador = separador_excepto_palabras .. seppal
local SEPARADOR = ""

local PUNTUACION = "%{%}¡!¿?.,;:–—]"
local PUNTUACION_EXTRA = "%{%}¡!¿?.,;:–—\"“”„‟«»»«‹››‹]"

local apostrofe = "'ʼꞌꞋ‘’" -- son distintos
local APOSTROFE = ""

local vocales = "aeiouáéíóúâêîôûAEIOUÁÉÍÓÚÂÊÎÔÛ"
local VOCAL = ""
local consonantes = "bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"..apostrofe
local CONS = ""

local permitido = vocales..consonantes..apostrofe..separador.."·|%s" --asumo que limpié la puntuación

local vocal_ipa = "aeiou"

local CH = "ĉ"
local CK = "ç"
local PH = "Ƿ"
local PP = "Ƥ"
local TH = "ţ"
local TS = "ŧ"
local TT = "Ť"
local TZ = "ț"
local TCH = "č"
local CKH = "ć"
local CKCK = "ċ"

local consonantes_full = consonantes..CH..CK..PH..PP..TH..TS..TT..TZ..TCH..CKH..CKCK
local CONS_FULL = ""
	
local codificar2 = {
	 = CH,
	 = CK,
	 = PH,
	 = PP,
	 = TH,
	 = TS,
	 = TZ,
	 = TT,
}

local codificar3 = {
	 = CKH,
	 = TCH,
}

local codificar4 = {
	 = CKCK
}

local decodificar_ipa = {
	 = "t͡ʃ",
	 = "k",
	 = "pʰ",
	 = "pʼ",
	 = "tʰ",
	 = "t͡s",
	 = "tʼ",
	 = "t͡s",
	 = "t͡ʃʼ",
	 = "kʰ",
	 = "kʼ"
}

local decodificar = {}
for k, v in pairs(codificar2) do
	decodificar = k
end
for k, v in pairs(codificar3) do
	decodificar = k
end
for k, v in pairs(codificar4) do
	decodificar = k
end

local quitar_tilde = {
	 = "a",
	 = "e",
	 = "i",
	 = "o",
	 = "u",
	 = "a",
	 = "e",
	 = "i",
	 = "o",
	 = "u"
}

local quitar_circ = {
	 = "a",
	 = "e",
	 = "i",
	 = "o",
	 = "u",
	 = "a",
	 = "e",
	 = "i",
	 = "o",
	 = "u"	
}

local mapeo_1 = {
	-- = "a",
	-- = "b",
	 = "k",
	-- = "d",
	-- = "e",
	-- = "f",
	-- = "g",
	-- = "h",
	-- = "i",
	 = "ʝ",
	-- = "k",
	-- = "l",
	-- = "m",
	-- = "n",
	-- = "o",
	-- = "p",
	 = "k",
	-- = "r",
	-- = "s",
	-- = "t",
	-- = "u",
	-- = "b",
	-- = "w",
	-- = "x",
	 = "ʝ",
	 = "s",
	 = "ʔ",
}

local mapeo_2_v = {
	 = "aː",
	 = "eː",
	 = "iː",
	 = "oː",
	 = "uː",
}

local function normalizar(texto)
	texto = strlower(texto)
	texto = strsubn(texto, VOCAL, quitar_tilde)
	texto = strsubn(texto, VOCAL, quitar_circ)
	texto = strsubrep(texto, PUNTUACION, " | ") -- convierto lo que delimite fragmentos a los IPA foot boundaries |
	texto = strsubrep(texto, PUNTUACION_EXTRA, "") -- elimino la puntuación restante que haya quedado
	texto = strsubrep(texto, "", "Ꞌ") --los guiones pasan a ser apostrofes
	texto = strsubrep(texto, APOSTROFE, "Ꞌ")
	
	if strfind(texto, "") then
		error("caracteres no permitidos en el título")
	end

    texto = strsubrep(texto, "%s*|%s*|%s*", " | ") --finalmente, elimino las barras y espacios de más
    texto = strsubrep(texto, "%s+", " ")
	texto = strstrip(texto, "+")
	
	return texto
end

local function silabear(p, no_decodificar)
	for a, b in pairs(codificar4) do
		p = strsubn(p, a, b)
	end
	for a, b in pairs(codificar3) do
		p = strsubn(p, a, b)
	end
	for a, b in pairs(codificar2) do
		p = strsubn(p, a, b)
	end
	
	-- 1. Separo si hay un único caracter de consonante entre dos vocales
	p = strsubrep(p, "(" .. VOCAL .. APOSTROFE ..  "?)(" .. CONS_FULL .. APOSTROFE .. "?"  .. VOCAL .. ")", "%1"..divsil.."%2")
	
	-- 2. Separo el resto de consonantes
	p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. CONS_FULL .. CONS_FULL .. "?" .. APOSTROFE .. "?)(" .. CONS_FULL .. CONS_FULL .. "?" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
	
	-- 3. Vuelvo a juntar la l (no la r porque siempre es rr)
	p = strsubn(p, "()"..divsil.."l", divsil.."%1l")

	-- 4. Separo los hiatos
	p = strsubn(p, "()()", function(a,b) return a ~= b and a..divsil..b or a..b end)
	p = strsubn(p, "ou", "o"..divsil.."u")
	p = strsubn(p, "uo", "u"..divsil.."o")
	
	-- 5. El apóstrofe siempre va en el coda
	p = strsubn(p, "+"..APOSTROFE, "Ꞌ"..divsil)
	
	p = strsubn(p, "+", divsil)
	p = strstrip(p, "+")
	
	if not no_decodificar then
		p = strsubn(p, ".", decodificar)
	end
	
	return p
end

local function generar_pron(text, fone)
	text = normalizar(text)
	local convertido = {}
	local fragmentos = strsplit(text, "%s*|%s*")
	
	for _,f in ipairs(fragmentos) do
		f = silabear(f, true)
		f = strsubn(f, divsil, ".")
		
		f = strsubn(f, "l(%.?h)", "l̥%1")
		
		-- transcripciones no codificadas
    	for a,b in pairs(mapeo_2_v) do
    		f = strsubn(f, a, b)
    	end
    	for a,b in pairs(mapeo_1) do
    		f = strsubn(f, a, b)
    	end
		
		-- diptongos
		f = strsubn(f, "()", "%1j")
		f = strsubn(f, "ui", "wi") -- revisar si existe este diptongo
		f = strsubn(f, "u", "uj") -- revisar si existe este diptongo
		f = strsubn(f, "iu", "ju") -- revisar si existe este diptongo
		f = strsubn(f, "i()", "j%1")
		f = strsubn(f, "()u", "%1w")
		f = strsubn(f, "u()", "w%1")
		
	    insert(convertido, f)
	end
	
	local total = concat(convertido, " | ")
	
	if fone then
		-- sustituyo variantes que aparecen en el coda
		total = strsubn(total, "("..VOCAL.."ː?"..CONS_FULL.."*)"..CK, "%1x")
		total = strsubn(total, "("..VOCAL.."ː?"..CONS_FULL.."*)"..CH, "%1ʃ")
		total = strsubn(total, "("..VOCAL.."ː?"..CONS_FULL.."*)h", "%1ʔ")
		total = strsubn(total, "("..VOCAL.."ː?"..CONS_FULL.."*)r", "%1ɹ")
		
		-- sustituyo variantes que aparecen en el ataque
		total = strsubn(total, "h("..VOCAL..")", "x%1")
		total = strsubn(total, "s("..VOCAL..")", "s̻%1")
		
		-- sustituyo variantes que aparecen intervocálicas
		total = strsubn(total, "("..VOCAL.."ː?"..SEPARADOR.."*)r("..SEPARADOR.."*"..VOCAL..")", "%1ɾ%2")
		total = strsubn(total, "("..VOCAL.."ː?"..SEPARADOR.."*)b("..SEPARADOR.."*"..VOCAL..")", "%1β%2")
		
		-- nasales
		total = strsubn(total, "a(ː?)", "ã%1")
		total = strsubn(total, "e(ː?)", "ẽ%1")
		total = strsubn(total, "o(ː?)", "õ%1")
	else
		total = strsubn(total, "l̥", "l")
	end
	
    total = strsubn(total, ".", decodificar_ipa)
	
	return {{strhtml(total)}}
end

-- Punto de entrada externo, recibe el título de página y los argumentos de plantilla
function export.procesar_pron_args(titulo, args)
	if #args < 1 then
		args = titulo
	end

	if #args < 1 and #args < 1 then
		local A = #args
		local j = 1 -- indice de la ayuda
		local k = 1 -- cantidad de pronunciaciones insertadas (máximo 9)
		local rims = {} -- rimas
		while k <= 9 and j <= A do
			local fone = generar_pron(args, true)
			--local fono = generar_pron(args, false)
			--local rim = fono
			--rim = strsubn(rim, "^.*"..SEPARADOR.."(.-)$", "%1")
			--rim = strsubn(rim, ".-(.*)$", "%1")
			--rims = true
			for i,_ in ipairs(fone) do
				table.insert(args, fone)
				k = k + 1
				if k > 9 then
					break
				end
			end
			j = j + 1
		end
		
		local tiene_espacios = strfind(titulo, " ")
		if not tiene_espacios then
			if not args then
				local aux = silabear(args)
				args = strsubn(aux, divsil, "-")
			end
		end
		
		for r,_ in pairs(rims) do
			insert(args, r)
		end
	end

	return args

end
 
return export

Separar Módulo:generar-pron/kuz en sílabas

Puede ser de que a parte toda la información que te hemos dado acerca de la palabra Módulo:generar-pron/kuz, a su vez te mostremos el modo de cómo dividirla en sílabas. Para ello si quieres aprender a dividir Módulo:generar-pron/kuz en sílabas.

Listado de errores ortográficos de Módulo:generar-pron/kuz

A continuación te damos acceso un listado con los principales errores ortográficos, de forma que los tengas en cuenta y sepas el modo de no incurrir en ellos.Sin más dilación, aquí tienes el listado de errores ortográficos de Módulo:generar-pron/kuz