¡Saludos!, estás en esta página web explorando la definición de Módulo:generar-pron/gn. En esta web no solo podrás descubrir el total de las acepciones reconocidas por el diccionario para la palabra Módulo:generar-pron/gn, sino que también podrás conocer su etimología, sus características y podrás saber cómo se dice Módulo:generar-pron/gn en singular y en plural. Todo aquello que necesitas saber referente a la palabra Módulo:generar-pron/gn aquí lo tienes. La definición de la palabra Módulo:generar-pron/gn te servirá de ayuda a que tengas más acierto e idoneidad cuando sea la hora de conversar o redactar tus piezas. Saber la definición deMódulo:generar-pron/gn, de la misma manera que las definiciones de otros términos, amplían nuestro léxico y nos confieren de mayores y mejores herramientas lingüísticas.
La documentación para este módulo puede ser creada en Módulo:generar-pron/gn/doc
-- PRONUNCIACIÓN PARA EL GUARANÍ
-- Autor: Tmagc (inspirado en la versión de en.wikt pero reimplementado desde CERO)
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 puso = "'ʼꞌꞋ" -- son distintos
local PUSO = ""
local vocal_fuerte_atona = "aAãÃeEẽẼoOõÕ"
local vocal_debil_atona = "iIĩĨuUũŨyYỹỸ"
local vocal_fuerte_tildada = "áÁâÂéÉêÊóÓôÔ"
local vocal_debil_tildada = "íÍîÎúÚûÛýÝŷŶ"
local CONS = ""
local VOCAL = ""
local VOCAL_TILDADA = ""
local R_ESPECIAL = "℟"
local quitar_tilde = {
= "a",
= "e",
= "i",
= "o",
= "u",
= "y",
= "ã",
= "ẽ",
= "ĩ",
= "õ",
= "ũ",
= "ỹ",
}
-- single characters that map to IPA sounds
local phonetic_chars_map = {
= "f",
= "ɰ",
= "ɰ̃",
= "h",
= "d͡ʒ",
= "k",
= "l",
= "m",
= "n",
= "ɲ",
= "p",
= "ɾ",
= "s",
= "t",
= "ʋ",
= "ʔ",
= "a",
= "ã",
= "e",
= "ẽ",
= "i",
= "ĩ",
= "o",
= "õ",
= "u",
= "ũ",
= "ɨ",
= "ɨ̃",
}
-- character sequences of two that map to IPA sounds
local phonetic_2chars_map = {
= "ʃ",
= "ᵐb",
= "ⁿd",
= "ᵑɡ",
= "ⁿt",
= R_ESPECIAL,
= "j%1",
= "ʷ%1",
}
local pron_abc = {
= "a",
= "ã",
= "che",
= "e",
= "ẽ",
= "ge",
= "g̃e",
= "he",
= "i",
= "ĩ",
= "je",
= "ke",
= "le",
= "me",
= "mbe",
= "ne",
= "nde",
= "nge",
= "nte",
= "ñe",
= "o",
= "õ",
= "pe",
= "re",
= "rre",
= "se",
= "te",
= "u",
= "ũ",
= "ve",
= "y",
= "ỹ",
= "a",
= "ã",
= "che",
= "e",
= "ẽ",
= "ge",
= "g̃e",
= "he",
= "i",
= "ĩ",
= "je",
= "ke",
= "le",
= "me",
= "mbe",
= "ne",
= "nde",
= "nge",
= "nte",
= "ñe",
= "o",
= "õ",
= "pe",
= "re",
= "rre",
= "se",
= "te",
= "u",
= "ũ",
= "ve",
= "y",
= "ỹ",
= "puso",
= "puso",
}
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)
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 separar_en_silabas(p)
p = divsil .. p .. divsil
p = strsubrep(p, "(" .. VOCAL .. ")(" .. CONS .. "+" .. VOCAL .. ")", "%1"..divsil.."%2")
p = strsubrep(p, "(" .. VOCAL .. CONS .. "+)(" .. CONS .. VOCAL .. ")", "%1"..divsil.."%2")
for cc, fono in pairs(phonetic_2chars_map) do
local a, b = cc:sub(1,1), cc:sub(2,2)
local A, B = a:upper(), b:upper()
p = strsubrep(p, "()"..divsil.."("..VOCAL..")", divsil.."%1%2")
p = strsubrep(p, "()"..divsil.."("..VOCAL..")", divsil.."%1%2")
p = strsubrep(p, "()"..divsil.."()("..CONS..")", "%1%2"..divsil.."%3")
end
p = strsubn(p, PUSO..divsil, divsil.."'")
p = strsubn(p, "()("..VOCAL..")", "%1"..divsil.."%2")
p = strsubn(p, "("..VOCAL..")()", "%1"..divsil.."%2")
p = strsubn(p, "()()"..divsil.."*$", "%1"..divsil.."%2")
p = strsubn(p, "()()", "%1"..divsil.."%2")
-- correcciones finales
p = strsubn(p, "+", divsil)
p = strsubrep(p, SEPARADORES_SILABICOS.."("..CONS.."+)"..SEPARADORES_SILABICOS.."("..SALVO_SEPARADORES_SILABICOS.."-"..VOCAL..")", divsil.."%1%2")
p = strsubrep(p, SEPARADORES_SILABICOS.."("..SALVO_SEPARADORES_SILABICOS.."-)"..SEPARADORES_SILABICOS.."("..CONS.."+)"..SEPARADORES_SILABICOS, divsil.."%1%2"..divsil)
p = strsubn(p, "+", divsil)
p = strstrip(p, "+")
return p
end
local function acentuar(p)
local sust
p = strsubn(p, PUSO, "ʔ")
p, sust = strsubb(p, "*"..VOCAL_TILDADA.."*", ac_primario.."%0")
if not sust then
p, sust = strsubb(p, "+$", ac_primario.."%0") -- por defecto es la última sílaba
end
assert(sust)
p = strsubn(p, "%."..ac_primario, ac_primario)
return p
end
local function generar_pron(text)
if strfind(text, "") then
error("Por favor, utilice los caracteres 0xA78C (ꞌ) o 0xA78B (Ꞌ) para el PUSO, GRACIAS")
end
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 = separar_en_silabas(p)
p = strsubn(p, divsil, ".")
p = acentuar(p)
p = strsubn(p, VOCAL_TILDADA, quitar_tilde)
-- mapeo fonológico
for a,b in pairs(phonetic_2chars_map) do
p = strsubn(p, a, b)
end
p = strsubn(p, ".", phonetic_chars_map)
p = strsubn(p, R_ESPECIAL, "r")
insert(palabras_convertidas, p)
end
insert(convertido, concat(palabras_convertidas, " "))
end
return {{strhtml(concat(convertido, " | "))}}
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 x = pron_abc]
if x then
args = x
args = x
end
local A = #args
local j = 1 -- indice de la ayuda
local k = 1 -- cantidad de pronunciaciones insertadas (máximo 9)
while k <= 9 and j <= A do
local fono = generar_pron(args)
for i,_ in ipairs(fono) do
table.insert(args, fono)
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 = separar_en_silabas(args)
args = strsubn(aux, divsil, "-")
end
end
local rim = args
rim = strsubn(rim, "^.*ˈ(.-)$", "%1")
args = strsubn(rim, ".-".."(.*"..")".."$", "%1")
end
return args
end
return export
Puede ser de que además toda la información que te hemos dado en referencia a la palabra Módulo:generar-pron/gn, también te enseñemos la manera de cómo separarla en sílabas. Si te interesa si deseas aprender a dividir Módulo:generar-pron/gn en sílabas.
A continuación te presentamos un listado con los principales errores ortográficos, con la finalidad de que los tomes en consideración y sepas la forma de no incurrir en ellos.Sin más dilación, aquí tienes el listado de errores ortográficos de Módulo:generar-pron/gn