Hola, siéntete bienvenido o bienvenida, estás en esta página web explorando el significado de la palabra Módulo:auto cat. En esta página web no solo dispondrás de la oportunidad de hallar el total de las acepciones reconocidas de la palabra Módulo:auto cat, sino que también podrás conocer su etimología, sus singularidades y podrás saber el modo en que se dice la palabra Módulo:auto cat en singular y en plural. Todo aquello que necesitas saber acerca de la palabra Módulo:auto cat lo tienes aquí. La definición de Módulo:auto cat a que tengas más acierto e idoneidad cuando llegue el momento de charlar o escribir tus piezas. Conocer la definición deMódulo:auto cat, de la misma manera que los significados de otras palabras, fortifican el léxico y nos brindan mayores y mejores recursos lingüísticos.
Módulo que genera estructura automática para las páginas de las Categorías.
{{auto cat}}
local export = {}
local insert = table.insert
local concat = table.concat
local m_str = require("Módulo:String")
local strexplode = m_str.explode_utf8
local strfind = m_str.find
local strmatch = m_str.match
local strsub = m_str.gsub
local strsplit = m_str.split
local strlower = m_str.lower
local strupper = m_str.upper
local strucfirst = m_str.ucfirst
local strlcfirst = m_str.lcfirst
local substr = m_str.sub
local strlen = m_str.len
local m_leng = require("Módulo:lenguas")
local m_nombres = mw.loadData("Módulo:lenguas/nombre_a_cod")
local WIKCIONARIO = 1
local COD = 2
local SWADESH = 3
local TRADUCCIONES = 4
local RIMAS = 5
local PRON_GRAF = 6
local ETIMOLOGIA = 7
local GRAMATICA = 8
local CONTEXTO = 9
local LENGUAS = 10
local PLANTILLAS = 11
local MANTENIMIENTO = 12
local POR_IDIOMA = 13
local USUARIOS = 14
local ESCRITURAS = 15
local function obtener_alfabeto(args)
-- por el momento, si no está standardChars, entonces no genero el alfabeto.
-- En un futuro, podría hacer que genere el alfabeto que provee directamente el script,
-- pero hay que implementar la función que devuelva eso porque la que está ahora mismo devuelve un rango de caracteres en regex
if not args or not args.standardChars then
return ""
end
local ignorar_script = { = true, = true}
local abc = {}
if type(args.standardChars) == "string" then
abc = args.standardChars
else
local m_sc = require("Módulo:scripts")
for script in args:gmatch("(+)%s*,?%s*") do -- tomo todos los scripts que haya, y para cada uno busco el alfabeto
if script == "All" then
return ""
end
if not ignorar_script then
local chars = m_sc.getByCode(script):getCharacters()
script_ = args.standardChars
if script_ then
insert(abc, strexplode(strupper(script_)))
end
end
end
end
local t = {}
for _,alfabeto in ipairs(abc) do
if alfabeto then
local mem = { = true} --ignoro el guion porque eso es parte de los regex en el caso de los alfabetos obtenidos directo del script
insert(t, "<div style=\"font-size:90%; text-align:center\">\n")
insert(t, "{|id=\"toc\" class=\"plainlinks\" align=\"center\" style=\"padding:3px 15px 3px 15px;\"\n")
insert(t, "|style=\"text-align: center; font-weight:bold; font-size:100%; padding-left:15px; padding-right:15px\"|\n")
local pg = args
for i,c in ipairs(alfabeto) do
if not mem then
mem = true
insert(t, " \n")
end
end
insert(t, "|}\n</div>\n")
end
end
return concat(t)
end
local function generar_titulo(texto, args)
local t = {}
insert(t, "<div style=\"background-color:#f6f6f6; border:1px dotted #ABCDEF; padding:8px; width:95%; margin:0 auto;\">\n")
if texto then
if args then
insert(t, "<div style=\"font-size:110%; text-align:center\">"..args..": "..texto)
else
insert(t, "<div style=\"font-size:110%; text-align:center\">"..texto)
end
if args then
insert(t, "__HIDDENCAT__<br>Esta es una categoría de mantenimiento que no se muestra directamente en los artículos. Si deseas habilitar la visualización de estas categorías, puedes hacerlo en ].")
end
insert(t, "</div>\n")
end
return concat(t)..obtener_alfabeto(args).."</div>\n"
end
local function generar_aviso(tipo, texto)
local header = {
= "<table style=\"aviso\" class=\"plainlinks ambox ambox-notice\">"
}
local imagen = {
= "]"
}
return header.."<tr><td class=\"ambox-image\"><div style=\"width:52px;\">"..imagen.."</div></td><td class=\"ambox-text\">"..texto.."</td></tr></table>"
end
local function generar_categorias(padres, args)
if not args then
return padres
end
local padres_ = {}
for _,padre in ipairs(padres) do
if padre and padre ~= "" then
insert(padres_, args..":"..padre)
else
insert(padres_, args..'| ')
end
end
-- if args then
-- insert(padres_,"Wikcionario")
-- end
return padres_
end
local handlers = {}
-- Detección de "Wikcionario"
handlers =
function(clave, args)
if clave == "Wikcionario" then
args = true
end
end
-- Detección de código de idioma en mayúscula
handlers =
function(clave, args)
local x,y,z
if strfind(clave, "^%u%u+$") or strfind(clave, "^%u%u+%-%u%u+$") or strfind(clave, "^%u%u+%-%u%u+%-%u%u+$") then
x = strlower(clave)
y = clave
z = m_leng.cod_a_idioma(x)
end
if x and y and z then
args = x
args = y
args = z
args = strucfirst(z)
return false
end
return nil
end
--Lista Swadesh
handlers =
function(clave, args)
if clave ~= "Lista Swadesh" then
return nil
end
return true, generar_titulo("Lista de ], concepto del lingüista ].", args), generar_categorias({""}, args)
end
--Traducciones: debería estar en mantenimiento??
handlers =
function (clave, args)
local m = {strmatch(clave, "^(+)%-(+)$")}
if not m or not m then
m = strfind(clave, "^Traducciones desde el español$")
if not m then
return nil
end
args = true
return true, generar_titulo("En esta categoría se encuentran todas las entradas de traducción desde el español.", args), {}
end
local a = strlcfirst(m)
local b = strlcfirst(m)
local idioma1, idioma2 = m_nombres, m_nombres
if not idioma1 or not idioma2 then
return nil
end
args = true
return true, generar_titulo("En esta categoría se encuentran todas las entradas de traducción del idioma "..a.." al "..b..".", args), {"Traducciones desde el "..a}
end
--Rimas
handlers =
function (clave, args)
if clave == "Rimas" then
if args == args then
args = true
return true, generar_titulo("Lista de rimas.", args), generar_categorias({""}, args)
else
args = true
return nil
end
elseif args then
return true, generar_titulo("Lista de rimas con -"..clave..".", args), generar_categorias({"Rimas|"..clave}, args)
end
return nil
end
-- Pron-graf
handlers =
function(clave, args)
local padres = mw.loadData("Módulo:auto cat/pron-graf")
if not padres then
return nil
end
if clave == "Palabras sin transcripción fonética" then
args = true
args = true
end
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias(padres, args)
end
-- Etimología
handlers =
function (clave, args)
-- Etimología de otro idioma
local m = {strmatch(clave, "^Palabras provenientes del (+)$")}
if m then
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias({"Palabras por idioma de origen|"..m}, args)
end
m = {strmatch(clave, "^Palabras documentadas desde el siglo +$")}
if m then
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias({"Palabras por época de origen"}, args)
end
-- Prefijos, infijos, sufijos
m = {strmatch(clave, "^Palabras con el prefijo (.*)$")}
if m then
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias({"Palabras formadas por prefijación|"..m}, args)
end
m = {strmatch(clave, "^Palabras con el infijo (.+)$")}
if m then
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias({"Palabras formadas por infijación|"..m}, args)
end
m = {strmatch(clave, "^Palabras con el sufijo -(.+)$")}
if m then
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias({"Palabras formadas por sufijación|"..m}, args)
end
if clave == "Palabras de etimología sin precisar" then
args = true
args = true
end
-- Otros tipos de etimologías
local padres = mw.loadData("Módulo:auto cat/etimología")
if not padres then
return nil
end
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias(padres, args)
end
--Gramática
handlers =
function (clave, args)
local padres = mw.loadData("Módulo:auto cat/gramática")
if not padres then
return nil
end
args = true
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias(padres, args)
end
--Csem, ambito, uso
handlers =
function (clave, args)
if strfind(clave, "^Idiomas de ") then
return true, generar_titulo(clave..".", args), generar_categorias({"Idiomas"}, args)
end
local padres = mw.loadData("Módulo:auto cat/uso")
if padres then
return true, generar_titulo("Lista de "..clave..".", args), generar_categorias(padres, args)
end
local padres = mw.loadData("Módulo:auto cat/campos semánticos")
if padres then
return true, generar_titulo("Lista de términos relacionados con "..strlcfirst(clave)..".", args), generar_categorias(padres, args)
end
local padres = mw.loadData("Módulo:auto cat/ámbito")
if padres then
args = true
return true, generar_titulo("Lista de términos propios de "..clave..".", args), generar_categorias(padres, args)
end
-- casos especiales (serán muchos)
--- Topónimos
m = {strmatch(clave, "^Topónimos de (.+)$")}
if m then
return true, generar_titulo("Lista de "..strlcfirst(clave), args), generar_categorias({'Topónimos|'..m}, args)
end
return nil
end
--Nombre de idioma o familia
handlers =
function (clave, args)
clave = strlcfirst(clave)
local cod = m_nombres
if not cod then
return nil
end
local es_familia = strmatch(clave, "^lenguas")
local idioma
if not es_familia then
idioma = m_leng.cod_a_idioma(cod)
else
idioma = m_leng.cod_a_familia(cod)
end
local dag, familia = m_leng.obtener_dag(idioma, es_familia)
local arbol = require("Módulo:DAG").dagAHtml(dag, "Árbol genealógico")
local t = {}
local i = 1
local function insert(s)
t = s
i = i + 1
end
local cat = {}
local i_ = 1
local function insert_cat(s)
cat = s
i_ = i_ + 1
end
-- En realidad final va al comienzo de todo, me confundí xd
local final = {}
local i__ = 1
local function insert_final(s)
final = s
i__ = i__ + 1
end
insert("=== Información ===\n")
insert(":* '''Código''': <code>"..cod.."</code>\n")
insert(":* '''Nombre canónico''': "..clave.."\n")
insert(":* '''ID de Wikidata''': ).." "..tostring(idioma).."]\n")
if familia then
insert(":* '''Familia''': ]\n")
insert_cat(familia)
else
insert_cat("Lenguas")
end
if not es_familia then
insert(":* '''Script(s)''': ")
for script in idioma:gmatch("(+)%s*,?%s*") do
insert("] ")
--insert_cat("Script "..script)
end
insert_cat("Idiomas")
insert("\n")
end
if idioma.otherNames then
insert(":* '''Otros nombres''': ")
for l,n in ipairs(idioma.otherNames) do
if l == 1 then
insert(n)
else
insert(", "..n)
end
end
insert(".\n")
end
insert("=== Véase también ===\n")
if not es_familia then
insert(":* ] ] en el Wikcionario.\n")
end
local titulo_wikipedia = mw.wikibase.sitelink("Q"..tostring(idioma), 'eswiki')
if titulo_wikipedia then
insert(":* ] ] en Wikipedia.\n")
end
insert(":* ] ).."|Entrada]] en Wikidata.\n")
insert(":* ] ] en Wikimedia Commons.\n")
--insert(":* ] para nombrar entradas.\n")
if not es_familia then
insert(":* ] completa de idiomas.\n")
else
insert(":* ] completa de familias.\n")
end
local im = mw.title.new("Lang-"..cod..".gif", 6)
if im and im.fileExists then
insert_final("]\n\n")
end
insert_final("Esta es la categoría principal ")
if not es_familia then
insert_final("del idioma "..clave..".\n")
else
insert_final("de las "..clave..".\n")
end
local hay_arg = false
for j, arg in ipairs(args) do
if j == 1 then
insert_final("Se habla en: .."]]")
insert_cat("Idiomas de "..args)
else
insert_final(", .."]]")
insert_cat("Idiomas de "..args)
end
hay_arg = true
end
if hay_arg then
insert_final(".\n")
end
-- https://stackoverflow.com/questions/31455768/html-table-cell-spacing-only-between-cells-no-outer-one
return true, "<table border=0 cellspacing=0 cellpadding=0 style=\"margin:-10px;width:99.9%;border-spacing:10px;\">\n<tr>\n<td style=\"text-align:left;vertical-align:top;\">\n"..concat(final)..concat(t).."</td>\n<td style=\"text-align:center;\">\n"..arbol.."</td>\n</tr>\n</table>\n", cat
end
-- Plantillas (muy ampliable)
handlers =
function (clave, args)
m = {}
if strmatch(clave, "Plantillas de flexión de")
or strmatch(clave, "Plantillas auxiliares de flexión")
or strmatch(clave, "Plantillas de mutación") then
args = true
m = {"Plantillas de flexión"}
elseif strmatch(clave, "Plantillas$") then
args = true
m = {}
elseif strmatch(clave, "Plantillas") then
args = true
m = {"Plantillas"}
end
local padres = m
if not padres then
return nil
end
return true, generar_titulo("Lista de "..strlcfirst(clave)..".", args), generar_categorias(padres, args)
end
-- Detección de Mantenimiento
handlers =
function(clave, args)
-- if not args then
-- return nil
-- end
local m = mw.loadData("Módulo:auto cat/mantenimiento")
if m then
return true, generar_aviso("info", "__HIDDENCAT__"..
"Esta categoría es de mantenimiento"..
" y por lo tanto no se mostrará directamente. Si desea que se "..
"muestre en cada página, puede cambiar "..
"]."),
generar_categorias(m, args)
-- TODO: Nombres de categorías. ¿Eliminar Wikicionario:? Creo q es razonable
-- dejar esas categorías sólo para páginas del espacio Wikcionario
end
end
-- Contrucción de metacategorías por idioma
handlers =
function(clave, args)
if args then
return nil -- por las dudas
end
local m = {strmatch(clave, "^(.+) por idioma$")}
local clave_ = m
if clave_ then
args = true -- útil?
for i,handler in ipairs(handlers) do -- cómo evito que vuelva a pasar recursivamente de forma ilimitada
local padres_ = {}
local terminar, msj, padres = handler(clave_, args)
if terminar == true then
for i, padre_ in ipairs(padres) do
if padre_ ~= "" then
insert(padres_, padre_..' por idioma| ')
insert(padres_, clave_..'| ')
else
-- puede tener un mejor nombre? creo que sí
insert(padres_, 'Metacategorías espejo| ')
insert(padres_, clave_..'| ')
end
end
return true,
-- quizá mejorar este título
generar_titulo("Metacategoría de ''"..strlcfirst(clave_).."'' por idioma", args),
generar_categorias(padres_, args)
elseif terminar == false then -- si no es nil
break
end
end
end
return nil
end
-- Usuarios por idioma, debería fusionarlo con el handler de arriba?
handlers =
function(clave, args)
local m = {strmatch(clave, "^Usuarios por idioma %- ?(.+)$")}
if not m then
return nil
end
local c = {"0", "básico", "intermedio", "avanzado", "experto", "nativo"}
local r = nil
local s = nil
for _,q in ipairs(c) do
local m2 = {strmatch(m, "^(.+) ?"..q.."$")}
if m2 then
r = m2
s = q
break
end
end
local padres_ = {}
if not r then
insert(padres_, "Usuarios por idioma")
return true, generar_titulo("Lista de usuarios que hablan "..m, args), generar_categorias(padres_, args)
else
insert(padres_, "Usuarios por idioma - "..r)
if s == "0" then
return true, generar_titulo("Lista de usuarios que NO entienden "..r, args), generar_categorias(padres_, args)
else
return true, generar_titulo("Lista de usuarios que hablan "..r..", nivel "..s, args), generar_categorias(padres_, args)
end
end
end
-- Escrituras
handlers =
function(clave, args)
local m_escrituras = mw.loadData("Módulo:auto cat/escrituras")
local codigos = m_escrituras
if codigos then
for _,cod in ipairs(codigos) do
if cod == args then
return true, generar_titulo("Lista de palabras pertenecientes a la escritura "..clave..".", args), generar_categorias({"Escrituras"}, args)
end
end
end
local m = strfind(clave, "^Escrituras$")
if m then
return true, generar_titulo("Lista de escrituras.", args), generar_categorias({}, args)
end
return nil
end
function export.categorizar(frame)
local title = mw.title.getCurrentTitle().fullText
if title == "Plantilla:auto cat" then
return "Use esta plantilla en el espacio de Categorías."
end
local pagename = mw.title.getCurrentTitle().text
if pagename == "Módulo:auto cat" then
return nil
end
local ns = mw.title.getCurrentTitle().namespace
assert(ns == 14, "La plantilla sólo puede utilizarse en el espacio de Categorías")
local args = frame:getParent().args
args = pagename
local claves = strsplit(pagename, ":")
local L = #claves
args = 1
args = L
local t = {}
while args <= L do
local clave = claves]
for i,handler in ipairs(handlers) do
local terminar, msj, padres = handler(clave, args)
if terminar == true then
insert(t, msj)
-- Paso 1: metacategorías
-- Caso a: "no meta" = no metacategoría x idioma
if args then
-- nada
-- Caso b: sin sufijo
elseif args and L == 2 and args then
insert(t, ".."]]")
-- Caso c: caso general
elseif args and L == 2 then
insert(t, ".."]]")
-- Caso d: eventualmente eliminar Categorías:Wikicionario:
-- salvo para páginas realmente internas. Por ahora mantener
elseif args and args and L == 3 then -- caso para Categoría:Wikcionario:XXXX
insert(t, ".."|"..args.."]]")
end
-- Paso 2: árbol de categorías
for i,padre in ipairs(padres) do
-- Caso a: Categorías fundamentales. Padre "", sin código
if not args and not args and padre == "" then
insert(t, "]\n")
elseif padre ~= "" then
insert(t, "]\n")
end
end
return concat(t)
elseif terminar == false then -- si no es nil
break
end
end
args = args + 1
end
if args then
return nil
end
error("La categoría no puede ser reconocida.")
end
return export
Te ofrecemos la oportunidad de que además todo aquello que ahora ya sabes en lo tocante a la palabra Módulo:auto cat, ahora también aprendas de cómo separarla en sílabas. Si quieres aprender a dividir si quieres aprender a separar Módulo:auto cat en sílabas.
Más abajo podrás seguir el link una lista con los principales errores ortográficos, con la finalidad de que los tomes en consideración y sepas el modo de no incurrir en ellos.Sin más demora, aquí tienes el listado de errores ortográficos de Módulo:auto cat