Mòdul:diccionaris
La documentació d'ús d'aquest mòdul es pot crear a Mòdul:diccionaris/ús
local p = {}
local encode = require("Module:urlencode").encode
-- ca-dicc
local function dalg_link(id)
return "[http://www.algueres.net/busca.aspx?busca=" .. id .. ' <span title="Diccionari d\'Alguerés">DAlg</span>]'
end
local function dcvb_link(id)
return "[https://dcvb.iec.cat/results.asp?word=" .. id .. '&re=true <span title="Diccionari català-valencià-balear, Alcover-Moll">DCVB</span>]'
end
local function decat_link(id)
if string.match(id, "^%d+$") then
return "[https://decat.iec.cat/veuredoc.asp?id=" .. id .. ' <span title="Diccionari etimològic i complementari de la llengua catalana">DECat</span>]'
else
return "[https://decat.iec.cat/llista_termes.asp?limit=1&terme=" .. id .. '&button=Cercar <span title="Diccionari etimològic i complementari de la llengua catalana">DECat</span>]'
end
end
local function dem_link(id)
return "[https://www.demcat.cat/ca/diccionaris-portal/183/search/" .. id .. '?type=basic&condition=match <span title="Diccionari enciclopèdic de medicina">DEM</span>]'
end
local function diec_link(id)
return "[https://dlc.iec.cat/Results?DecEntradaText=" .. id .. '&AccentSen=True <span title="Diccionari de l\'Institut d\'Estudis Catalans">DIEC</span>]'
end
local function diec1_link(id)
return "[https://bdlex.iec.cat/scripts/Qorth1.asp?diccFixat=@DIEC1&orthorig=" .. id .. ' <span title="Diccionari de l\'Institut d\'Estudis Catalans 1995">DIEC1</span>]'
end
local function dnv_link(id)
return "[http://www.avl.gva.es/lexicval/xhtml/dnv.xhtml?paraula=" .. id .. ' <span title="Diccionari normatiu valencià">DNV</span>]'
end
local function dsff_link(id)
return "[https://dsff.uab.cat/cerca?mode=Cont%C3%A9&frase=" .. id .. ' <span title="Diccionari de sinònims de frases fetes">DSFF</span>]'
end
local function eeif_link(id)
return "[http://www.eeif.cat/veus/" .. id .. '/ <span title="Enciclopèdia d\'Eivissa i Formetera">EEiF</span>]'
end
local function esadir_link(id)
return "[http://esadir.cat/Cerca?cerca=" .. id .. '&criteri=General <span title="Portal lingüístic de la Corporació Catalana de Mitjans Audiovisuals">ésAdir</span>]'
end
local function gdlc_link(id)
return "[https://www.diccionari.cat/cerca/gran-diccionari-de-la-llengua-catalana?search_api_fulltext_cust=" .. id .. ' <span title="Gran Diccionari de la llengua catalana">GDLC</span>]'
end
local function gec_link(id)
return '[https://www.enciclopedia.cat/cerca/gec?search_api_fulltext=' .. id .. '&field_faceta_cerca_1=938 <span title="Gran Enciclopèdia Catalana">GEC</span>]'
end
local function oncat_link(id)
if string.match(id, "^%d+$") then
return "[https://oncat.iec.cat/veuredoc.asp?id=" .. id .. ' <span title="Onomasticon Cataloniae">OnCat</span>]'
else
return "[https://oncat.iec.cat/llista_termes.asp?limit=1&terme=" .. id .. '&button=Cercar <span title="Onomasticon Cataloniae">OnCat</span>]'
end
end
local function optimot_link(id)
return "[https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?action=Principal&method=cerca_generica&tipusCerca=cerca.queSignifica&input_cercar=" .. id .. " <span title=\"Optimot, consultes lingüístiques\">Optimot</span>]"
end
local function ptv_link(id)
return "[http://www.avl.gva.es/lexicval/ptv?paraula=" .. id .. ' <span title="Portal Terminològic Valencià">PTV</span>]'
end
local function termcat_link(id)
return "[http://www.termcat.cat/ca/cercaterm/" .. id .. '?type=advanced&language=ca&condition=match&fields=denominacio <span title="Termcat, centre de terminologia">Termcat</span>]'
end
-- csc-dicc
local function sematos_link(id)
return "[http://www.sematos.eu/lsc-r-" .. id .. "-ca.html Sematos]"
end
local function wikisign_link(id)
return "[http://lsc.wikisign.org/wiki/" .. id .. ' Wikisign]'
end
-- en-dicc
local function cambridge_link(id)
return "[https://dictionary.cambridge.org/dictionary/english/" .. id .. ' <span title="Cambridge English Dictionary">Cambridge</span>]'
end
local function collins_link(id)
return "[https://www.collinsdictionary.com/dictionary/english/" .. id .. ' <span title="Collins English Dictionary">Collins</span>]'
end
local function dict_link(id)
return "[https://www.dictionary.com/browse/" .. id .. ' <span title="Dictionary.com">Dict</span>]'
end
local function merriam_link(id)
return "[https://www.merriam-webster.com/dictionary/" .. id .. ' <span title="Merriam-Webster Dictionary">Merriam</span>]'
end
local function urban_link(id)
return "[https://www.urbandictionary.com/define.php?term=" .. id .. ' <span title="Urban Dictionary">Urban</span>]'
end
-- roa-oca-dicc
local function cival_link(id)
return "[http://cival.avl.gva.es/cival/buscador.jsp?paraula=" .. id .. ' <span title="Corpus Informatitzat del Valencià">CIVAL</span>]'
end
local function dtca_link(id)
return "[http://www.ub.edu/diccionari-dtca/?txt=" .. id .. ' <span title="Diccionari de Textos Catalans Antics">DTCA</span>]'
end
local function faraudo_link(id)
return "[http://www.iec.cat/faraudo/results.asp?search=" .. id .. '&optCriteria=0&optSearchType=1 <span title="Vocabulari de la llengua catalana medieval, Lluís Faraudo">Faraudo</span>]'
end
-- funcions xx_diccionaris
local function process(frame, args, dicos)
local pagename = mw.title.getCurrentTitle().subpageText
local params = {}
local valid_dict = {}
for _, dic in ipairs(dicos) do
valid_dict[dic[1]] = true
end
for name, val in pairs(args) do
if type(name) == "number" then
if valid_dict[val] and not params[val] then
params[val] = pagename
elseif valid_dict[val] and params[val] then
error("El paràmetre \"" .. val .. "\" està duplicat.")
else
error("El paràmetre \"" .. val .. "\" no és usat per aquesta plantilla.")
end
else
if valid_dict[name] and not params[name] then
params[name] = val
elseif valid_dict[name] and params[name] then
error("El paràmetre \"" .. name .. "\" està duplicat.")
else
error("El paràmetre \"" .. name .. "\" no és usat per aquesta plantilla.")
end
end
end
local links = {}
for _, dic in ipairs(dicos) do
if params[dic[1]] then
if dic[3] == 'hyphens' then
table.insert(links, dic[2](encode({["args"] = {params[dic[1]], "hyphens"}})))
elseif dic[3] == 'latin1' then
table.insert(links, dic[2](encode({["args"] = {params[dic[1]], "ISO 8859-1"}})))
else
table.insert(links, dic[2](frame:callParserFunction('urlencode', params[dic[1]])))
end
end
end
return table.concat(links, ", ")
end
function p.ca_diccionaris(frame)
local args = frame:getParent().args
local dicos = {
{'diec', diec_link, ''},
{'diec1', diec1_link, ''},
{'dnv', dnv_link, ''},
{'gdlc', gdlc_link, ''},
{'dcvb', dcvb_link, 'latin1'},
{'decat', decat_link, 'latin1'},
{'oncat', oncat_link, 'latin1'},
{'termcat', termcat_link, ''},
{'ptv', ptv_link, ''},
{'gec', gec_link, ''},
{'dem', dem_link, ''},
{'dsff', dsff_link, ''},
{'optimot', optimot_link, 'latin1'},
{'esadir', esadir_link, ''},
{'eeif', eeif_link, ''},
{'dalg', dalg_link, ''},
}
return "''Obres de referència'': " .. process(frame, args, dicos)
end
function p.csc_diccionaris(frame)
local args = frame:getParent().args
local dicos = {
{'wikisign', wikisign_link, 'hyphens'},
{'sematos', sematos_link, 'hyphens'},
}
return "''Altres llocs'': " .. process(frame, args, dicos)
end
function p.en_diccionaris(frame)
local args = frame:getParent().args
local dicos = {
{'merriam', merriam_link, ''},
{'collins', collins_link, ''},
{'cambridge', cambridge_link, ''},
{'dict', dict_link, ''},
{'urban', urban_link, ''},
}
return "''Obres de referència'': " .. process(frame, args, dicos)
end
function p.roaoca_diccionaris(frame)
local args = frame:getParent().args
local dicos = {
{'dcvb', dcvb_link, 'latin1'},
{'faraudo', faraudo_link, 'latin1'},
{'dtca', dtca_link, ''},
{'gec', gec_link, ''},
{'cival', cival_link, ''},
}
return "''Obres de referència'': " .. process(frame, args, dicos)
end
return p