Diferencia entre revisiones de «Módulo:pron-graf»
Contenido eliminado Contenido añadido
Sin resumen de edición Etiqueta: Reversión manual |
|||
Línea 152: | Línea 152: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|División a fin de línea: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|División a fin de línea: ') |
||
for i,_ in ipairs(args["d"]) do |
for i,_ in ipairs(args["d"]) do |
||
table.insert(table_markup, args["d"][i]..(args["dnota"][i] and " |
table.insert(table_markup, args["d"][i]..(args["dnota"][i] and frame:extensionTag("ref", args["dnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 160: | Línea 160: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transcripción silábica: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transcripción silábica: ') |
||
for i,_ in ipairs(args["ts"]) do |
for i,_ in ipairs(args["ts"]) do |
||
table.insert(args["ts"][i]..(args["tsnota"][i] and " |
table.insert(args["ts"][i]..(args["tsnota"][i] and frame:extensionTag("ref", args["tsnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 168: | Línea 168: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transliteración: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transliteración: ') |
||
for i,_ in ipairs(args["tl"]) do |
for i,_ in ipairs(args["tl"]) do |
||
table.insert(table_markup, args["tl"][i]..(args["tlnum"][i] and " ("..args["tlnum"][i]..")" or "")..(args["tlnota"][i] and " |
table.insert(table_markup, args["tl"][i]..(args["tlnum"][i] and " ("..args["tlnum"][i]..")" or "")..(args["tlnota"][i] and frame:extensionTag("ref", args["tlnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 227: | Línea 227: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Escritura alternativa: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Escritura alternativa: ') |
||
for i,_ in ipairs(args["e"]) do |
for i,_ in ipairs(args["e"]) do |
||
table.insert(table_markup, "[["..args["e"][i]..(args["ealt"][i] and "|"..args["ealt"][i] or "").."]]"..(args["enum"][i] and " ("..args["enum"][i]..")" or "")..(args["enota"][i] and " |
table.insert(table_markup, "[["..args["e"][i]..(args["ealt"][i] and "|"..args["ealt"][i] or "").."]]"..(args["enum"][i] and " ("..args["enum"][i]..")" or "")..(args["enota"][i] and frame:extensionTag("ref", args["enota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 235: | Línea 235: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Grafía alternativa: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Grafía alternativa: ') |
||
for i,_ in ipairs(args["g"]) do |
for i,_ in ipairs(args["g"]) do |
||
table.insert(table_markup, "[["..args["g"][i]..(args["galt"][i] and "|"..args["galt"][i] or "").."]]"..(args["gnum"][i] and " ("..args["gnum"][i]..")" or "")..(args["gnota"][i] and " |
table.insert(table_markup, "[["..args["g"][i]..(args["galt"][i] and "|"..args["galt"][i] or "").."]]"..(args["gnum"][i] and " ("..args["gnum"][i]..")" or "")..(args["gnota"][i] and frame:extensionTag("ref", args["gnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 243: | Línea 243: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Variantes: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Variantes: ') |
||
for i,_ in ipairs(args["v"]) do |
for i,_ in ipairs(args["v"]) do |
||
table.insert(table_markup, "[["..args["v"][i]..(args["valt"][i] and "|"..args["valt"][i] or "").."]]"..(args["vtr"][i] and " ("..args["vtr"][i]..")" or "")..(args["vnum"][i] and " ("..args["vnum"][i]..")" or "")..(args["vnota"][i] and " |
table.insert(table_markup, "[["..args["v"][i]..(args["valt"][i] and "|"..args["valt"][i] or "").."]]"..(args["vtr"][i] and " ("..args["vtr"][i]..")" or "")..(args["vnum"][i] and " ("..args["vnum"][i]..")" or "")..(args["vnota"][i] and frame:extensionTag("ref", args["vnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 251: | Línea 251: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Homófonos: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Homófonos: ') |
||
for i,_ in ipairs(args["h"]) do |
for i,_ in ipairs(args["h"]) do |
||
table.insert(table_markup, "[["..args["h"][i]..(args["halt"][i] and "|"..args["halt"][i] or "").."]]"..(args["htr"][i] and " ("..args["htr"][i]..")" or "")..(args["hnum"][i] and " ("..args["hnum"][i]..")" or "")..(args["hnota"][i] and " |
table.insert(table_markup, "[["..args["h"][i]..(args["halt"][i] and "|"..args["halt"][i] or "").."]]"..(args["htr"][i] and " ("..args["htr"][i]..")" or "")..(args["hnum"][i] and " ("..args["hnum"][i]..")" or "")..(args["hnota"][i] and frame:extensionTag("ref", args["hnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 259: | Línea 259: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Parónimos: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Parónimos: ') |
||
for i,_ in ipairs(args["p"]) do |
for i,_ in ipairs(args["p"]) do |
||
table.insert(table_markup, "[["..args["p"][i]..(args["palt"][i] and "|"..args["palt"][i] or "").."]]"..(args["ptr"][i] and " ("..args["ptr"][i]..")" or "")..(args["pnum"][i] and " ("..args["pnum"][i]..")" or "")..(args["pnota"][i] and " |
table.insert(table_markup, "[["..args["p"][i]..(args["palt"][i] and "|"..args["palt"][i] or "").."]]"..(args["ptr"][i] and " ("..args["ptr"][i]..")" or "")..(args["pnum"][i] and " ("..args["pnum"][i]..")" or "")..(args["pnota"][i] and frame:extensionTag("ref", args["pnota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
||
Línea 267: | Línea 267: | ||
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Símbolos: ') |
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Símbolos: ') |
||
for i,_ in ipairs(args["s"]) do |
for i,_ in ipairs(args["s"]) do |
||
table.insert(table_markup, "[["..args["s"][i]..(args["salt"][i] and "|"..args["salt"][i] or "").."]]"..(args["str"][i] and " ("..args["str"][i]..")" or "")..(args["snum"][i] and " ("..args["snum"][i]..")" or "")..(args["snota"][i] and " |
table.insert(table_markup, "[["..args["s"][i]..(args["salt"][i] and "|"..args["salt"][i] or "").."]]"..(args["str"][i] and " ("..args["str"][i]..")" or "")..(args["snum"][i] and " ("..args["snum"][i]..")" or "")..(args["snota"][i] and frame:extensionTag("ref", args["snota"][i]) or "")..'<br/>') |
||
end |
end |
||
table.insert(table_markup, '\n') |
table.insert(table_markup, '\n') |
Revisión del 14:17 19 dic 2023
La documentación para este módulo puede ser creada en Módulo:pron-graf/doc
local export = {}
function export.mostrar(frame)
local params = {
[1] = {alias_de = "fone"},
["leng"] = {por_defecto = "es", requerido = true},
["alt"] = {},
["ayuda"] = {},
["pron"] = {lista_doble = true},
["fone"] = {lista_doble = true},
["fono"] = {lista_doble = true},
["fnota"] = {lista_doble = true},
["audio"] = {lista_doble = true},
["aunota"] = {lista_doble = true},
["ac"] = {},
["acentuación"] = {alias_de = "ac"},
["ls"] = {tipo = "num"},
["longitud_silábica"] = {alias_de = "ls"},
["nl"] = {tipo = "num"},
["número_letras"] = {alias_de = "nl"},
["d"] = {lista = true},
["div"] = {alias_de = "d"},
["división"] = {alias_de = "d"},
["dnota"] = {lista = true},
["ts"] = {lista = true},
["transcripción silábica"] = {alias_de = "ts"},
["tsnota"] = {lista = true},
["tl"] = {lista = true},
["transliteración"] = {alias_de = "tl"},
["tlalt"] = {lista = true},
["tlnum"] = {lista = true},
["tlnúm"] = {alias_de = "tlnum"},
["tlnota"] = {lista = true},
["e"] = {lista = true},
["ea"] = {alias_de = "e"},
["escritura alternativa"] = {alias_de = "e"},
["ealt"] = {lista = true},
["enum"] = {lista = true},
["enúm"] = {alias_de = "enum"},
["enota"] = {lista = true},
["g"] = {lista = true},
["ga"] = {alias_de = "g"},
["grafía alternativa"] = {alias_de = "g"},
["galt"] = {lista = true},
["gnum"] = {lista = true},
["gnúm"] = {alias_de = "gnum"},
["gnota"] = {lista = true},
["v"] = {lista = true},
["variante"] = {alias_de = "v"},
["valt"] = {lista = true},
["vnum"] = {lista = true},
["vnúm"] = {alias_de = "vnum"},
["vtr"] = {lista = true},
["vnota"] = {lista = true},
["h"] = {lista = true},
["homófono"] = {alias_de = "h"},
["halt"] = {lista = true},
["hnum"] = {lista = true},
["hnúm"] = {alias_de = "hnum"},
["htr"] = {lista = true},
["hnota"] = {lista = true},
["p"] = {lista = true},
["parónimo"] = {alias_de = "p"},
["palt"] = {lista = true},
["pnum"] = {lista = true},
["pnúm"] = {alias_de = "hnum"},
["ptr"] = {lista = true},
["pnota"] = {lista = true},
["s"] = {lista = true},
["símbolo"] = {alias_de = "s"},
["salt"] = {lista = true},
["snum"] = {lista = true},
["snúm"] = {alias_de = "snum"},
["snota"] = {lista = true},
["ptr"] = {lista = true},
["pnota"] = {lista = true},
["rima"] = {},
}
local parent_frame = frame:getParent()
local args = require("Módulo:parámetros").obtener_parametros(parent_frame.args, params)
local title = mw.title.getCurrentTitle().fullText -- no sirve parent_frame:getTitle()
--local frame = mw.getCurrentFrame()
local tit = args["alt"] or title
local table_markup = {}
table.insert(table_markup, '{|class="pron-graf toccolours" cellspacing="0.1" style="float: right; clear: right; margin: 0.2em 0 0.2em 1.4em;"\n|style="background:#EBEBEB; text-align:left; font-weight:420" colspan="2"| <span style="font-family: Helvetica; font-size: 1.5em;"><strong>'..tit..'</strong></span>\n')
if args["leng"] == "es" and #args["fone"] < 1 and #args["fono"] < 1 and args["ls"] == nil and args["ac"] == nil and args["rima"] == nil then
args["pron"], args["fone"], args["ls"], args["nl"], args["ac"], args["rima"] = require('Módulo:generar-pron/es').generar_pron(args["ayuda"] or tit, tit, true)
elseif args["leng"] == "es" then
for i, _ in ipairs(args["pron"]) do
if args["pron"][i] and args["pron"][i][1] then
c = args["pron"][i][1]:sub(1,1)
s = args["pron"][i][1]:sub(1,4)
cc = args["pron"][i][1]:sub(1,2)
if c == 's' then
args["pron"][i][1] = 'seseante'
elseif s == 'no s' or s == 'dist' then
args["pron"][i][1] = 'no seseante'
elseif c == 'y' then
args["pron"][i][1] = 'yeísta'
elseif s == 'no ye' then
args["pron"][i][1] = 'no yeísta'
elseif cc == 'll' then
args["pron"][i][1] = 'lleísta'
elseif cc == 'sh' then
args["pron"][i][1] = 'sheísta'
elseif cc == 'zh' then
args["pron"][i][1] = 'zheísta'
elseif c == 'r' then
args["pron"][i][1] = 'rioplatense'
end
end
end
end
N = math.max(#args["fone"], #args["fono"])
if N == 0 then
table.insert(table_markup, '|-\n|style="vertical-align:top;"' .. '|<span style="color: green; font-size: 90%; font-style: italic;"> [[Wikcionario:Pronunciación|falta agregar pronunciación]] </span>')
table.insert(table_markup, '\n')
else
for i = 1,N do
if args["fone"][i] or args["fono"][i] then
table.insert(table_markup, '|-\n|style="vertical-align:top;"|')
if args["pron"][i] and args["pron"][i][1] then
table.insert(table_markup, '[[Wikcionario:Referencia/'..string.upper(args["leng"])..'/Pronunciación|'..args["pron"][i][1]..']]'..' ([[Alfabeto Fonético Internacional|AFI]]): ')
else
table.insert(table_markup, '[[Wikcionario:Referencia/'..string.upper(args["leng"])..'/Pronunciación|pronunciación]]'..' ([[Alfabeto Fonético Internacional|AFI]]): ')
end
for j = 1,9 do
if args["fone"][i] and args["fone"][i][j] then
table.insert(table_markup, '['..args["fone"][i][j]..']')
end
if args["fono"][i] and args["fono"][i][j] then
table.insert(table_markup, '/'..args["fono"][i][j]..'/')
end
if args["fnota"][i] and args["fnota"][i][j] then
table.insert(table_markup, ' '..args["fnota"][i][j])
end
if args["audio"][i] and args["audio"][i][j] then
table.insert(table_markup, frame:expandTemplate{title = "aud", args = {args["audio"][i][j], args["aunota"][i] and args["aunota"][i][j] or nil}})
end
end
table.insert(table_markup, '\n')
end
end
end
if #args["d"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|División a fin de línea: ')
for i,_ in ipairs(args["d"]) do
table.insert(table_markup, args["d"][i]..(args["dnota"][i] and frame:extensionTag("ref", args["dnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["ts"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transcripción silábica: ')
for i,_ in ipairs(args["ts"]) do
table.insert(args["ts"][i]..(args["tsnota"][i] and frame:extensionTag("ref", args["tsnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["tl"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Transliteración: ')
for i,_ in ipairs(args["tl"]) do
table.insert(table_markup, args["tl"][i]..(args["tlnum"][i] and " ("..args["tlnum"][i]..")" or "")..(args["tlnota"][i] and frame:extensionTag("ref", args["tlnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
local l_silabica_tabla = {
[1] = 'monosílaba',
[2] = 'bisílaba',
[3] = 'trisílaba',
[4] = 'tetrasílaba',
[5] = 'pentasílaba',
[6] = 'hexasílaba',
[7] = 'heptasílaba',
[8] = 'octosílaba',
[9] = 'eneasílaba',
[10] = 'decasílaba',
[11] = 'endecasílaba',
[12] = 'dodecasílaba',
}
local l_silabica = args["ls"] and (l_silabica_tabla[args["ls"]] or args["ls"])
if l_silabica then
if type(l_silabica) == 'number' then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Longitud silábica: '..tostring(l_silabica)..'[[Categoría:'..string.upper(args["leng"])..':Palabras de más de doce sílabas]]')
else
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Longitud silábica: '..l_silabica..'[[Categoría:'..string.upper(args["leng"])..':Palabras '..l_silabica..'s]]')
end
table.insert(table_markup, '\n')
end
if args["nl"] and type(args["nl"]) == "number" then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Número de letras: '..tostring(args["nl"]))
table.insert(table_markup, '\n')
end
local acentuacion_tabla = {
['a'] = 'aguda',
['l'] = 'llana',
['g'] = 'llana',
['e'] = 'esdrújula',
['s'] = 'sobreesdrújula',
['d'] = 'doble acentuación',
['m'] = 'doble acentuación',
}
local acento = nil
if args["ac"] then
acento = acentuacion_tabla[args["ac"]:sub(1,1)]
end
if acento then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Acentuación: '..acento..'[[Categoría:'..string.upper(args["leng"])..':Palabras '..acento..'s]]')
table.insert(table_markup, '\n')
end
if #args["e"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Escritura alternativa: ')
for i,_ in ipairs(args["e"]) do
table.insert(table_markup, "[["..args["e"][i]..(args["ealt"][i] and "|"..args["ealt"][i] or "").."]]"..(args["enum"][i] and " ("..args["enum"][i]..")" or "")..(args["enota"][i] and frame:extensionTag("ref", args["enota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["g"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Grafía alternativa: ')
for i,_ in ipairs(args["g"]) do
table.insert(table_markup, "[["..args["g"][i]..(args["galt"][i] and "|"..args["galt"][i] or "").."]]"..(args["gnum"][i] and " ("..args["gnum"][i]..")" or "")..(args["gnota"][i] and frame:extensionTag("ref", args["gnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["v"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Variantes: ')
for i,_ in ipairs(args["v"]) do
table.insert(table_markup, "[["..args["v"][i]..(args["valt"][i] and "|"..args["valt"][i] or "").."]]"..(args["vtr"][i] and " ("..args["vtr"][i]..")" or "")..(args["vnum"][i] and " ("..args["vnum"][i]..")" or "")..(args["vnota"][i] and frame:extensionTag("ref", args["vnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["h"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Homófonos: ')
for i,_ in ipairs(args["h"]) do
table.insert(table_markup, "[["..args["h"][i]..(args["halt"][i] and "|"..args["halt"][i] or "").."]]"..(args["htr"][i] and " ("..args["htr"][i]..")" or "")..(args["hnum"][i] and " ("..args["hnum"][i]..")" or "")..(args["hnota"][i] and frame:extensionTag("ref", args["hnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["p"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Parónimos: ')
for i,_ in ipairs(args["p"]) do
table.insert(table_markup, "[["..args["p"][i]..(args["palt"][i] and "|"..args["palt"][i] or "").."]]"..(args["ptr"][i] and " ("..args["ptr"][i]..")" or "")..(args["pnum"][i] and " ("..args["pnum"][i]..")" or "")..(args["pnota"][i] and frame:extensionTag("ref", args["pnota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if #args["s"] > 0 then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Símbolos: ')
for i,_ in ipairs(args["s"]) do
table.insert(table_markup, "[["..args["s"][i]..(args["salt"][i] and "|"..args["salt"][i] or "").."]]"..(args["str"][i] and " ("..args["str"][i]..")" or "")..(args["snum"][i] and " ("..args["snum"][i]..")" or "")..(args["snota"][i] and frame:extensionTag("ref", args["snota"][i]) or "")..'<br/>')
end
table.insert(table_markup, '\n')
end
if args["rima"] then
table.insert(table_markup, '|-\n|scope="row" style="vertical-align:top;"|Rima: '.."[[:Categoría:"..string.upper(args["leng"])..":Rimas:"..args["rima"].."|"..args["rima"].."]]")
table.insert(table_markup, '\n')
end
table.insert(table_markup, '|}')
table.insert(table_markup, require("Módulo:TemplateStyles")("Plantilla:pron-graf/styles.css"))
return table.concat(table_markup)
end
return export