Módulo:generar-pron/arn

¡Saludos!, has llegado hasta esta página web tratando de encontrar el significado de Módulo:generar-pron/arn. En esta página web que es Dictious no solo tendrás la posibilidad de encontrar la totalidad de las acepciones reconocidas de la palabra Módulo:generar-pron/arn, sino que además podrás conocer su etimología, sus atributos y podrás saber cómo se dice la palabra Módulo:generar-pron/arn en singular y en plural. Íntegramente, cualquier aspecto que es necesario conocer en referencia a la palabra Módulo:generar-pron/arn lo tienes en esta web. La definición de Módulo:generar-pron/arn te servirá de ayuda a ser más concreto y idóneo cuando sea la hora de debatir o redactar tus documentos. Conocer la definición deMódulo:generar-pron/arn, al igual que los significados de otras palabras, fortifican el léxico y nos suministran mayores y mejores herramientas lingüísticas.

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

-- PRONUNCIACION PARA EL MAPUCHE
-- Autores: Tmagc & Lin Linao

-- ambiguedades que hay que resolver: debo detectar el tipo de alfabeto ya que
-- "g": es ɣ en el unificado o ŋ en los otros dos
-- "s": si es el Raguileo, puede ser una "s" o una "sh"
-- "t": si es el Raguileo, puede ser normal o interdental

local export = {}

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

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

local u = m_str.char
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 strfind = m_str.find
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 = "%{%}¡!¿?.,;:–—\"“”„‟‘’«»»«‹››‹]"

-- grafía
local VOCAL = ""
local CONS = ""

-- IPA
local VOCAL_IPA = ""

-- alfabetos
local AMU = 1
local RAGUILEO = 2
local AZUMCHEFE = 3
local NO_AMU = 4
local NO_RAGUILEO = 5
local NO_AZUMCHEFE = 6

local mapeo_alfabeto = { = AMU,  = RAGUILEO,  = AZUMCHEFE}

local busqueda_alfabeto = {
	 = {"d", "ḻ", "ṉ", "ng", "ṯ", "tr"},
	 = {"c", "v", "b", "j", "h", "x"},
	 = {"lh", "nh", "t'", "tx"},
	 = {"z", "q"},
	 = {"ü", "ch", "ll", "sh"},
	 = {}
}

local mapeo_fono_1 = {
	 = "a",
	 = "t͡ʃ",
	 = "θ",
	 = "θ",
	 = "e",
	 = "f",
	 = "ɣ",
	 = "i",
	 = "k",
	 = "l",
	 = "l̪",
	 = "l̪",
	 = "ʎ",
	 = "m",
	 = "n",
	 = "n̪",
	 = "n̪",
	 = "ɲ",
	 = "o",
	 = "p",
	 = "ɻ",
	 = "s",
	 = "t",
	 = "t̪",
	 = "ʈ͡ʂ",
	 = "u",
	 = "ɨ",
	 = "ɨ",
	 = "w",
}

local mapeo_fono_1_bis = { --aislo este grupo para que no me convierta la j de nuevo a ʎ
	 = "j",
}

local mapeo_fono_1_amu = {
	 = "ɣ",
}

local mapeo_fono_1_no_amu = {
	 = "ŋ",
}

local mapeo_fono_2 = {
	 = "t͡ʃ",
	 = "l̪",
	 = "ʎ",
	 = "n̪",
	 = "ŋ",
	 = "ʃ",
	 = "ʈ͡ʂ",
	 = "ʈ͡ʂ",
	 = "t̪",
}

local mapeo_fone_1_periferico = {
     = "ð",
     = "v",
}

local mapeo_fone_1_chesungun = {
     = "t͡s",
     = "s",
     = "ʂ",
}

local mapeo_fone_2 = {
     = "aja",
     = "aɣe",
	 = "#ʲi",
	 = "#ʷu",
	 = "#ˠɨ",
}

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 predecir_alfabeto(t)
	local detectado = {false, false, false, false, false, false}

	for i, patrones in ipairs(busqueda_alfabeto) do
		for _,p in ipairs(patrones) do
			if strfind(t, p) then
				detectado = true
				break
			end
		end
	end

	if detectado and detectado then
		detectado = true
	end

	if detectado and detectado then
		detectado = true
	end

	if detectado and detectado then
		detectado = true
	end

	if (detectado and detectado)
	or (detectado and detectado)
	or (detectado and detectado)
	then
		error("La grafía no es estándar")
	end

	for i = 1,6 do
		if detectado then
			return i
		end
	end

	return nil
end

local function separar_en_silabas(p)
	
	p = divsil .. p .. divsil

	-- Primero: las sílabas son todas del estilo CVC, el punto es que no puede haber dos vocales seguidas o dos consonantes seguidas en una misma sílaba
	p = strsubrep(p, "(" .. VOCAL .. CONS .. "?" .. ")(" .. CONS .. "+" .. VOCAL .. CONS .. "?" .. ")", "%1"..divsil.."%2")
	p = strsubrep(p, "(" .. VOCAL .. ")(" .. VOCAL .. ")", "%1"..divsil.."%2")

	--Segundo, eximo de la regla anterior los digrafos
	for cc, fono in pairs(mapeo_fono_2) 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
	
		-- 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 generar_pron(texto, alfabeto, fone)
	texto = normalizar(texto)
	if not alfabeto then
		require("Módulo:traza")("arn-alfabeto")
		alfabeto = predecir_alfabeto(texto)
	end
	local convertido = {}
	local fragmentos = strsplit(texto, "%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 = "#" .. p .. "#"

	    	-- mapeo fonológico
	    	for a,b in pairs(mapeo_fono_2) do
	    		p = strsubn(p, a, b)
	    	end
	    	p = strsubn(p, ".", mapeo_fono_1)
	    	p = strsubn(p, ".", mapeo_fono_1_bis)

            if alfabeto and (alfabeto == AMU or alfabeto == NO_RAGUILEO or alfabeto ~= NO_AZUMCHEFE) then
                p = strsubn(p, ".", mapeo_fono_1_amu)
            else
                p = strsubn(p, ".", mapeo_fono_1_no_amu)
            end

	    	insert(palabras_convertidas, p)
	    end
	    insert(convertido, concat(palabras_convertidas, " "))
	end

    local res = concat(convertido, " | ")

    if not fone then
        res = strsubn(res, "#", "")
        res = strhtml(res)
        return {{"pronunciación"}}, {{res}}
    end

    local central = res
    
    for a,b in pairs(mapeo_fone_2) do
    	central = strsubn(central, a, b)
    end
    
    central = strsubn(central, "#", "")
    central = strhtml(central)

    local periferico = strsubn(central, ".", mapeo_fone_1_periferico)
    local chesungun = strsubn(central, ".", mapeo_fone_1_chesungun)

    return {{"central"}, {"periférico"}, {"chesüngun"}}, {{central}, {periferico}, {chesungun}}
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 pron, fone = generar_pron(args, mapeo_alfabeto], true)
			for i,_ in ipairs(fone) do
				insert(args, pron)
				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 = separar_en_silabas(args)
				args = strsubn(aux, divsil, "-")
			end
		end	
		
        -- sin rimas porque no hay acentuación definida
		--local rim = args
		--rim = strsubn(rim, "^.*ˈ(.-)$", "%1")
		--args = strsubn(rim, ".-".."(.*"..")".."$", "%1")

	end

	return args

end
 
return export

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

Te ofrecemos la oportunidad de que junto con todo lo aprendido en referencia a la palabra Módulo:generar-pron/arn, ahora también te mostremos la forma de cómo se divide en sílabas. Para ello si deseas aprender a dividir Módulo:generar-pron/arn en sílabas.

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

Seguidamente puedes ir al link que te lleva a un listado con los errores ortográficos más generalizados, con el fin de que los tomes en consideración y no incurras en ellos.Sin más dilación, aquí tienes el listado de errores ortográficos de Módulo:generar-pron/arn