Módulo:lengua
La documentación para este módulo puede ser creada en Módulo:lengua/doc
local export = {}
local insert = table.insert
local concat = table.concat
local generar_error = require("Módulo:traza")
function export.main(frame)
local params = {
[1] = {},
["escritura"] = {lista = true},
["e"] = {alias_de = "escritura"},
["transliteración"] = {lista = true}, -- obsoleto
["transliteracion"] = {alias_de = "transliteración"}, -- obsoleto
["tl"] = {alias_de = "transliteración"}, -- obsoleto
["alt"]= {}, --obsoleto
["alf"]= {}, --obsoleto
}
local pframe = frame:getParent()
local args = require("Módulo:parámetros").obtener_parametros(pframe.args, params)
local ns = mw.title.getCurrentTitle().namespace
local code = args[1]
if not code then
error("Falta especificar el código de idioma. Visite [[Wikcionario:Códigos de idioma]] para encontrar el correcto")
end
local ucode = string.upper(code)
local ucfirst = require("Módulo:String").ucfirst
local nombre = ucfirst(require('Módulo:lenguas').cod_a_nombre(code))
if #args["transliteración"] > 0 then
error("No agregue entradas con transliteraciones. Sólo se permiten transliteraciones dentro de pron-graf o etimología")
end
if args["alt"] and #args["alt"] > 0 then
generar_error("seccionalt")
end
if args["alf"] and #args["alf"] > 0 then
generar_error("seccionalf")
end
local escritura = ""
local cat = "[[Categoría:"..nombre.."]]"
if #args["escritura"] > 0 then
local ct = {}
local ec = {}
local m_e = require("Módulo:lengua/escrituras")
for i,e_ in ipairs(args["escritura"]) do
local e = ucfirst(e_)
local en = m_e[e]
if en then
insert(ec, en)
insert(ct, "[[Categoría:"..ucode..":"..ucfirst(en).."]]")
else
insert(ec, e)
insert(ct, "[[Categoría:"..ucode..":"..ucfirst(e).."]]")
end
end
escritura = " "..tostring(mw.html.create('small'):wikitext("("..concat(ec, ", ")..")"))
cat = cat..concat(ct)
end
local span = mw.html.create('span')
:attr('id', code)
:addClass('headline-lang')
local header = {tostring(span:wikitext(header))}
local reference_page = mw.title.new( 'Wikcionario:Referencia/' .. ucode )
if reference_page.exists then
insert(header,'[['..reference_page.fullText..'|'..nombre..']]')
else
insert(header, nombre)
end
insert(header, escritura)
if ns == 0 then
insert(header, cat)
end
return concat(header)
end
return export