Hola, es más que probable que has llegado hasta aquí buscando la definición de Módulo:generar-pron/yua. En Dictious no solo dispondrás de la posibilidad de hallar la totalidad de las acepciones reconocidas de la palabra Módulo:generar-pron/yua, 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/yua en singular y en plural. Todo aquello que se debe conocer en referencia a la palabra Módulo:generar-pron/yua lo tienes aquí. La definición de Módulo:generar-pron/yua contribuirá a ser más concreto y idóneo cuando llegue el momento de hablar o componer tus enunciados. Conocer la definición deMódulo:generar-pron/yua, de la misma forma que las de otras palabras, amplían nuestro vocabulario y nos brindan mayores y mejores herramientas lingüísticas.
La documentación para este módulo puede ser creada en Módulo:generar-pron/yua/doc
-- PRONUNCIACIÓN PARA EL MAYA YUCATECO
-- Autor: Tmagc
-- Revisado por 26agcp
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"
local CONS = ""
local vocal_ipa = "aeiouáéíóúàèìòù"
local permitido = vocales..consonantes..apostrofe..separador.."·|%s" --asumo que limpié la puntuación
local quitar_tilde = {
= "a",
= "e",
= "i",
= "o",
= "u",
= "a",
= "e",
= "i",
= "o",
= "u"
}
-- single characters that map to IPA sounds
local mapeo_1c = {
= "t͡ʃ",
= "t͡s",
= "t͡ʃʼ",
= "t͡sʼ",
= "kʼ",
= "pʼ",
= "tʼ",
= "j",
}
local mapeo_1b = {
= "ʔ",
-- = "a",
= "ɓ",
-- = "e",
-- = "i",
= "h",
-- = "k",
-- = "l",
-- = "m",
-- = "n",
-- = "o",
-- = "p",
= "ɾ",
-- = "s",
-- = "t",
-- = "u",
-- = "w",
= "ʃ",
}
local mapeo_1 = {
= "áa̰",
= "éḛ",
= "íḭ",
= "óo̰",
= "úṵ",
}
-- character sequences of two that map to IPA sounds
local mapeo_2 = {
= "àː",
= "áː",
= "èː",
= "éː",
= "ìː",
= "íː",
= "òː",
= "óː",
= "ùː",
= "úː",
= "C",
= "S",
}
local mapeo_3 = {
= "H",
= "Z",
= "K",
= "P",
= "T",
}
local function normalizar(texto)
texto = strlower(texto)
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 espacios (austro-húngaro, franco-italiano)
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)
-- 1. Separo si hay un único caracter de consonante entre dos vocales
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?)(" .. CONS .. VOCAL .. ")", "%1"..divsil.."%2")
-- 2. Separo ch, ch', ts, ts'
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. CONS .. "?" .. CONS .. "?" .. APOSTROFE .. "?)(" .. "" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. CONS .. "?" .. CONS .. "?" .. APOSTROFE .. "?)(" .. "" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. "" .. APOSTROFE .. "?)(" .. CONS .. "?" .. CONS .. "?" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. "" .. APOSTROFE .. "?)(" .. CONS .. "?" .. CONS .. "?" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
-- 3. Separo p', t', k'
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. CONS .. "?" .. CONS .. "?" .. APOSTROFE .. "?)(" .. "" .. APOSTROFE .. VOCAL .. ")", "%1"..divsil.."%2")
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. "" .. APOSTROFE .. ")(" .. CONS .. CONS .. "?" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
-- 4. Separo el apóstrofe con la vocal anterior siempre y cuando sean vocales diferentes (el apóstrofe en los demás casos se contempló en 1.)
p = strsubn(p, "()(" .. APOSTROFE .. ")()", function(a,b,c) return a == c and a..b..c or a..b..divsil..c end)
-- 5. Separo el resto de consonantes
p = strsubrep(p, "(" .. VOCAL .. APOSTROFE .. "?" .. CONS .. CONS .. "?" .. APOSTROFE .. "?)(" .. CONS .. CONS .. "?" .. APOSTROFE .. "?" .. VOCAL .. ")", "%1"..divsil.."%2")
-- 6. Separo el resto de vocales (siempre y cuando no formen un único grupo, ie, sean distintas sin considerar tildes)
p = strsubn(p, "("..VOCAL..")("..VOCAL..")", function(a,b) return quitar_tilde == quitar_tilde and a..b or a..divsil..b end)
p = strsubn(p, "+", divsil)
p = strstrip(p, "+")
return p
end
local function generar_pron(text)
text = normalizar(text)
local convertido = {}
local fragmentos = strsplit(text, "%s*|%s*")
for _,fragmento in ipairs(fragmentos) do
local palabras = strsplit(fragmento, "%s")
local palabras_convertidas = {}
for _,p in ipairs(palabras) do
p = silabear(p)
p = strsubn(p, divsil, ".")
-- mapeo fonológico
for a,b in pairs(mapeo_3) do
p = strsubn(p, a, b)
end
for a,b in pairs(mapeo_2) do
p = strsubn(p, a, b)
end
for a,b in pairs(mapeo_1) do
p = strsubn(p, a, b)
end
for a,b in pairs(mapeo_1b) do
p = strsubn(p, a, b)
end
for a,b in pairs(mapeo_1c) do
p = strsubn(p, a, b)
end
-- Si empieza por vocal, agrego la glotal
p = strsubn(p, "^()", "ʔ%1")
insert(palabras_convertidas, p)
end
insert(convertido, concat(palabras_convertidas, " "))
end
local conservador = concat(convertido, " | ")
-- variante reducida:
-- 1. Al final de palabra, la letra L se transcribe /h/.
local reducido = strsubn(conservador, "l ", "h ")
reducido = strsubn(reducido, "l$", "h")
-- 2. Al final de sílaba, la letra B se transcribe /ʔ/.
reducido = strsubn(reducido, "ɓ ", "ʔ ")
reducido = strsubn(reducido, "ɓ$", "ʔ")
reducido = strsubn(reducido, "ɓ%.", "ʔ.")
if reducido == conservador then
return {{"pronunciación"}}, {{strhtml(conservador)}}
end
return {{"conservador"}, {"reducido"}}, {{strhtml(conservador)}, {strhtml(reducido)}}
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 pron, fono = generar_pron(args)
for i,_ in ipairs(fono) do
table.insert(args, pron)
table.insert(args, fono)
local rim = fono
rim = strsubn(rim, "^.*"..SEPARADOR.."(.-)$", "%1")
rim = strsubn(rim, ".-(.*)$", "%1")
rims = true
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
Tal vez de que a parte todo aquello que ahora ya sabes en referencia a la palabra Módulo:generar-pron/yua, ahora también te mostremos la manera de cómo se divide en sílabas. Para ello si quieres aprender a dividir Módulo:generar-pron/yua en sílabas.
A continuación puedes ir al link que te lleva a una lista con los principales errores ortográficos, con el fin de que los tomes en consideración y no los cometas.Sin más dilación, aquí tienes el listado de errores ortográficos de Módulo:generar-pron/yua