Ajuda:Infotaules multilingües

Es tracta d'infotaules multilingües fàcils d'adaptar a diferents idiomes (la localització), fins i tot amb infotaules ja existents, i que aprofiten les dades preexistents a Wikidata (WD).

Envien les dades a {{infobox}}, es a dir principalment a label, data i header. L'enviament pot ser:

  • Directe, que anomenarem amb mòduls "sols-lua".
  • Indirecte, a través d'una -o més- plantilles. Els mòduls que la componen l'anomenarem "preinfotaula".

Ambdós modes es basen en la construcció de tres mòduls, basats en Mòdul:Global infobox tools.

En les explicacions que segueixen hi ha algunes explicacions de la sintaxi lua necessàries per a entendre l'escriptura dels mòduls (però no per programar) i per si es vol anar una mica més enllà de la localització i del que ja està establert en la infotaula estàndard.

Per la versió en anglès, aquí.

IntroduccióModifica

Les infotaules multilingües:

  • Permeten la fàcil traducció (altrament anomenada localització) de la denominació de:
    • les etiquetes (i encapçalaments), substituint a les etiquetes en anglès per defecte.
    • dels noms dels paràmetres (altrament anomenats arguments), complementant els noms en anglès per defecte.
    • en alguns casos es contemplen (i de forma separada als anteriors) missatges específics d'error de la infotaula.
  • Dos modes d'obtenció de les dades dels elements de la infotaula:
    • Manual: el mode primigeni d'omplir els valors dels elements. Es manté per:
      • Compatibilitat amb articles que ja disposin d'infotaules amb elements assignats manualment.
      • Elements que no disposen d'una propietat similar a Wikidata (WD) o que el contingut del valor de WD no sigui satisfactori i/o poc adient de modificar-lo allà.
    • Automàtic: lectura dels valors dels qualificadors o propietats continguts a WD, referits a les etiquetes (label) o valors concrets de la infotaula per a un article (data). Per això i en els articles, cal que l'article estigui connectat al corresponent element de WD. El valor data obtingut de WD (o cadascun dels valors obtinguts, cas d'una llista) contenen enllaços a WD i a l'article si aquest existeix. Es pot ometre el retorn automàtic d'un valor de WD assignant-li el valor NONE.
Òbviament si no s'assigna un valor manual a un element i aquest element no troba un valor assignat a aquesta propietat a WD, no es mostrarà ni l'etiqueta.
  • Comprovació:
    • En cas de construcció o modificació de les infotaules, de les diverses llistes utilitzades per a etiquetes, paràmetres, etc.
    • De possibles duplicitats en la denominació dels paràmetres.
    • Prèvia, per als valors data entrats manualment, per l'editor de l'article, per a alguns tipus de paràmetres. Per exemple pot verificar que una entrada que hagi de ser numèrica ho sigui i en un marge de valors determinat.
    • De l'existència dels noms de paràmetres o de la seva duplicitat, si es dóna el cas:
      • Apareixerà un missatge d'error en mode de previsualització.
      • S'anotarà el nom de l'article en una/dues categoria/es de manteniment per a la seva comprovació per a l'administrador.
  • Infotaules de demostració:
    • De tots els paràmetres, on les dades corresponen als noms dels paràmetres.
      • La crida és demo=true.
      • Es presentaran els valors data amb la denominació del paràmetre corresponent; la denominació escollida serà la primera de les possibles denominacions traduïdes (si n'hi ha més d'una), la denominació traduïda si només n'hi ha una o la denominació en anglès per defecte. El color del tipus de lletra sera marró si no ha una crida a WD o blau si hi és.
    • De paràmetres escollits, d'un cas real cridant a WD i indicant el número d'identificació (|item=). Els paràmetres escollits serà un seguit dels seus noms separats per comes i després de |proof_params=.
  • Llistes per facilitar la tasca de comprovació de la traducció. Per a més detalls mireu aquí.
  • Generació del codi de TemplateData. La crida és allitems=template. L'ordenació dels elements és la mateixa que la de la llista d'ordre.
  • Seguretat i flexibilitat: La seva estructura modular ha permès encapsular allò (diverses pàgines) que no s'hauria de modificar (per ser estàndard) d'allò que és pot modificar sense afectar el funcionament estandaritzat de la resta.
    • Major seguretat: Es fan les oportunes comprovacions per a detectar errors (i així notificar aquests errors) que puguin succeir en la localització o en modificacions més complexes, que faci l'administrador de la infotaula.
    • Flexibilitat compartimentada: Permet modificacions limitades (en el mode preinfotaula) i àmplies (en el mode de sols-lua) de la funcionalitat per adaptar-se a algunes peculiaritats d'algunes Viquipèdies, sense modificar el nucli central.

Els mòduls de la Viquipèdia, com no pot ser d'altra manera, estan escrits amb lua (un llenguatge de programació). Per a fer les localitzacions no cal conèixer aquest llenguatge ni saber programar, tan sols cal fixar-se en les etiquetes i els noms dels paràmetres, que ja hi han, i modificar sols allò que calgui, com s'explica més avall.

Només vull traduir la infotaulaModifica

1. Cal instal·lar totes les pàgines de la plantilla inclosos els mòduls sol·licitats.

2. Ja hi ha una infotaula com aquesta a la meva Viquipèdia?.

  • : probablement hagi d'afegir les denominacions dels paràmetres existents a l'idioma de la seva Viquipèdia. Segurament haurà de traduir alguna etiqueta que apareix en la infotaula al seu idioma.
  • No: Només haurà de traduir alguna etiqueta. Després penseu en la conveniència d'incorporar paràmetres manuals i la seva denominació.

Instal·lacióModifica

En el cas de que falti algun mòdul apareix un missatge com: Error de Lua a package.lua a la línia nn: module 'Module:NomMòdul' not found.

LocalitzacióModifica

Part de la localització és automàtica, en funció de la traducció ja existent al vostre idioma d'algunes etiquetes a WD, caldrà però revisar els noms pels paràmetres.

Les traduccions no automàtiques o que no vinguin de WD s'han d'anotar en els mòduls de sufix i18n. Els altres tipus de mòduls no s'han de modificar mai, sols per les actualitzacions que pugui haver.

Si és la primera infotaula multilingue en la seva Viquipèdia, caldrà traduir no solament els paràmetres i etiquetes de la infotaula actual, sinó a més dels següents mòduls:

En el procés de localització podeu anar alternant el resultat de la localització amb la revisió de les llistes, com es comenten a continuació:

Resultat de la localitzacióModifica

Podeu provar com es visualitza la infotaula en la vostra Viquipèdia amb:

{{#invoke:NomMòdul|infobox|demo=true}}

o de forma concreta amb

{{#invoke:NomMòdul|infobox|item=Qnnnnn}}

on Qnnnnn és el codi de Wikidata per a l'article del qual en voleu veure la infotaula llegint d'allà els elements de la infotaula presents. Tots els articles tenen un codi de WD (excepte els acabats de crear). Aquest codi el podeu trobar activant l'ordre Wikidata item o similar de la barra lateral.

LlistesModifica

Com podeu recordar els tipus de llistes:

Tots els elementsModifica

Potser és la forma més pràctica ja que es mostren les variables reservades, paràmetres i etiquetes ({{#invoke:NomMòdul|infobox|allitems=all}}).

EtiquetesModifica

Per veure les etiquetes que voleu traduir ({{#invoke:NomMòdul|infobox|allitems=labels}}):

Observeu que hi ha una columna central de títol WD i la que segueix diu WD content (codi). Llavors:

  • Si no apareix una traducció podeu afegir-la. Per afegir: feu clic en l’enllaç de la columna WD, i a la pàgina WD podeu afegir la traducció.
  • Si no us sembla bé la traducció que apareix en la infotaula podeu modificar-la a WD (però sense canviar el sentit de la traducció!). Si voleu que una etiqueta sigui diferent cal fer una modificació al mòdul i18n, concretament a:
p.items = {
    ....
    [MLMT.k.Labels] = {
        ....
    },
}
Llista de paràmetresModifica

Si voleu afegir noves denominacions per als paràmetres manuals (que estan en anglès), primer de tot per a veure quins són teniu ({{#invoke:NomMòdul|infobox|allitems=params}}):

Per afegir-ne cal fer una modificació al mòdul i18n, concretament a:

p.items = {
    [MLMT.k.Args] = {
        ....
    },
    ....
}

Com fer que alguns elements no apareguinModifica

Quan no es vol que no apareguin un o uns elements (el valor d'un paràmetre i, habitualment, l'etiqueta que el presenta), pot donar-se dos àmbits:

  1. Que l'administrador de la infotaula consideri que no han d'aparèixer.
  2. Que un editor consideri que no han d'aparèixer en un article en concret.

En 1. cal afegir la clau de l'element en la taula omit_params del mòdul i18n. Un exemple seria (on AIi seria l'abreviatura del Mòdul:Aquesta infotaula, cridat al principi com en la taula items precedent):

local AIi = required "Mòdul:Aquesta infotaula/items"
p.omit_params = {
    -- Key of standard params to omit
    AIi.k.nom,
}

Quan es tracta d'una infotaula sols-lua i es vulgui a més canviar l'ordre dels elements, llavors la millor solució és canviar els elements de la taula new_idx del mateix mòdul.

En 2. l'editor pot evitar que un element que llegeix automàticament el contingut de WD no ho faci. Per això només cal que assigni com a valor per aquell element NONE.

Preassignació de valors numèrics alternatiusModifica

Rarament pot ser útil assignar altres valors per defecte per a un paràmetre concret d'una infotaula. Per fer-ho s'anotarà la clau del paràmetre seguit del valor que se li vol assignar i en la taula preset_params del mòdul i18n. Un exemple seria el nombre de caràcters que determina que un desplegable es presenti desplegat o no. Amb un exemple:

p.preset_params = {
    -- Key and a preset integer value
    [PiPi.k.cllps_member_of] = 330, 
}

Mode preinfotaula o sols-lua?Modifica

Si es vol migrar d'infotaules convencionals a multilingües, aquests dos sistemes tenen avantatges i inconvenients, mirant les diferències:

PreinfotaulaModifica

  • No cal saber lua.
  • Major nombre de pàgines (5)
  • En la localització (i18n):
    • No es permet els canvis d'ordre.
    • Els paràmetres no-estàndard sols permeten fusionar o enviar els resultats a un paràmetre existent. No s'admeten crear encapçalaments o etiquetes.

Sols-luaModifica

  • Cal saber una mica de lua per treure'n tot el partit.
  • Menor nombre de pàgines (3), major rapidesa d'execució i menor possibilitat d'errors en el seu disseny.
  • En la creació la posició indica l'ordre d'aparició en la infotaula, evitant haver de numerar els head, label i data que s'envien a la infobox.
  • Permet disseny modular, incorporant mòduls que es poden compartir amb altres infotaules. Un exemple és el mòdul d'imatges, els valors del qual les infotaules incorporen a dalt de tot de la infotaula.
  • En la localització (i18n):
    • S'admeten creació de paràmetres, encapçalaments i etiquetes no-estàndard, amb gairebé les mateixes funcionalitats que els estàndard.
    • Es poden establir canvis d'ordre dels elements, sense haver-se de preocupar de la numeració.
    • Revisió automàtica de valors data retornats de WD que continguin valors sense traducció a la llengua pròpia. Amb lliure elecció dels paràmetres escollits a revisar. Els resultats de la revisió s'anoten en una pàgina de manteniment.

EstructuraModifica

 
Multinlingual infoboxes interdependences

Com es mostra en la imatge precedent la crida des de la plantilla d'una infotaula es fa a un mòdul preinfotaula o sols-lua, que són les dues modalitats existents.

Per entendre alguns de les explicacions que segueixen és millor entendre uns conceptes elementals de la sintaxi lua i que podeu trobar aquí, cap al final.

Tant en el cas del mòdul preinfotaula com el de sols-lua comparteixen moltes similituds el que permet identificar-ne tres mòduls. Si anomenem "Principal" al mòdul principal (per la següent explicació), llavors seran:

  • Infotaula principal, o "Principal". Etiquetat (en el diagrama anterior) com Preinfotaula o Infotaula sols-lua.
  • "Principal/items", amb la definició de:
    • Noms de paràmetres i etiquetes,
    • Llista dels paràmetres de tipus no habituals (número enter, número real, data i booleà).
    • Elements de la llista de paràmetres (o arguments) i d'etiquetes.
  • "Principal/i18n", amb la localització, segons es creu oportú de:
    • Modificació de valors per defecte, com pot ser el color o la icona de la infotaula (mireu al final, per veure els utilitzats en la Viquipèdia catalana).
    • Noms dels paràmetres.
    • Noms de les etiquetes.
    • Definició de paràmetres no-estàndard, definint la seva funcionalitat.

Important: Les explicacions que segueixen són per a interpretar el codi lua del que s'acaba de dir. Però no cal saber programar.

Enmig del codi lua, que segueixen, apareixen després de "--".

Per a la construcció d'una infotaula que utilitza mòduls, aquests mòduls requerits en precisen d'altres d'ús no tan específic.

SimpleDebugModifica

SimpleDebug, a més d'una ajuda en la depuració dels mòduls, està dedicat a millorar la presentació de missatges d'error. Errors que poden produir-se quan un administrador localitza alguna infotaula (en modificar els i18n) o quan hi ha modificacions del codi lua dut a terme per un programador que modifiqui la versió estàndard. Abreviatura SD.

SimpleArgsModifica

SimpleArgs (amb el seu mòdul i18n) conté funcions per verificar els paràmetres i per gestionar missatges d'error. Abreviatura SA.

Multilang module toolsModifica

Aquest mòdul s'utilitza per a mòduls multilingües siguin o no infotaules com el que s'està tractant aquí. Abreviatura MLMT.

WikidadesModifica

Aquest mòdul (amb el seu i18n) conté les funcions de lectura de propietats i qualificadors de WD.

Mòduls Global infobox toolsModifica

Aquest mòdul, items i i18n contenen variables i funcions per al disseny dels mòduls de la preinfotaula o de la infotaula sols-lua. Abreviatura GIBT, GIBTi i GIBTi18n respectivament.

Entre les principals variables que conté hi ha:

  • Totes o la majoria de les variables reservades, a mode de paràmetres que no poden ser modificats pels usuaris i que determinen un aspecte homogeni per al mateix grup d'infotaules. Entre aquestes variables, hi ha les que determinen el color del títols i encapçalaments o el nom de les categories de manteniment.
  • Paràmetres de les imatges, segons s'admeti una o dues imatges per cada infotaula.

Global infobox tools/i18nModifica

Conté els valors per defecte per a TOTES les infotaules multilingües.


De les variables reservades:

local center = "valign=center; padding:1px;"
local direct = 'right'
if MLMT.LangIsRTL then
	direct = 'left'
end
p.rs_val = { --
    -- To see the values that these variables take, use |allitems=list
    --styles
    [GIBTi.rk.rs_bodystyle]		= "",
    [GIBTi.rk.rs_titlestyle] 		= center,	-- it will added at begin the rs_colorbox of the specific infobox
    [GIBTi.rk.rs_headerstyle] 		= "",		-- it will added at begin the rs_colorbox of the specific infobox
    [GIBTi.rk.rs_subheaderstyle] 	= center,	-- it will added at begin the rs_color_tit_cllps of the specific infobox
    [GIBTi.rk.rs_imagestyle]		= "padding-bottom:0.1em;line-height:1.35;font-size:98%", 
    [GIBTi.rk.rs_captionstyle]		= "padding-top:0.3em;padding-bottom:0.1em;line-height:1.35;font-size:98%",
    [GIBTi.rk.rs_labelstyle]		= "padding-"..direct..":1.2em;background:#eeeeee; text-align:start",
    [GIBTi.rk.rs_datastyle]		= "text-align:start", 
    [GIBTi.rk.rs_belowstyle]		= "",  
    --icon
    [GIBTi.rk.rs_icon_at_begin]		= true,	-- the position in relation to the title
    --image
    [GIBTi.rk.rs_image_max_num]		= 1,		-- max number of images (1-2)
    [GIBTi.rk.rs_def_image_size]	= "300x300px",	
    [GIBTi.rk.rs_send_img_preinfobox]   = false,  -- only used by preinfoboxes, if true read from WD the values and more (read info)
    --referred to label/data content
    [GIBTi.rk.rs_changeable_lbls]	= false,	-- if true, allows users to change the label text, using the next prefix:
    [GIBTi.rk.rs_param_prefix_lbl]	= "l_",
    [GIBTi.rk.rs_def_charnum_cllps]	= 180,		--number of characters from which the text will appear collapsed (for some label-data items)
}

Mòdul principal/itemsModifica

Definició de claus utilitzadesModifica

Les claus queden definides en una taula lua. Aquesta taula te de nom k per key (clau en anglès). Observeu que s'utilitza el "comodí" p..

p.k = {
    nom1 = 'nom1',
    nom2 = 'nom2',
    ...
}

Les claus han de complir unes característiques determinades. En l'exemple: nom1 és la clau i 'nom1' és la cadena (lua); nom1 emmagatzema el valor 'nom1'.

Cada nom de clau pot correspondre al nom d'un paràmetre, d'una etiqueta, als dos o, rarament, a un missatge. Els noms per a les claus de les etiquetes dels encapçalaments tenen de prefix hd_ (de header).

Pel funcionament és indiferent l'ordre en que estan disposats (ja que no estableix la definició per se un ordre), però es posen per ordre d'aparició en la infotaula (ordre que es repetirà en l'índex que segueix més avall).

En algun mòdul pot estar definit, a més, claus de variables reservades específiques de la infotaula. Aquestes claus tenen de prefix rs_ i estan dins d'una taula de nom krs.

Assignació dels tipus dels paràmetresModifica

Opcionalment, assignació de la comprovació dels valors introduïts segons el tipus de paràmetre i restriccions:

p.arg_lims = {
    [p.k.nom1] = 'i',           --indica que nom1 ha de ser un enter
    [p.k.nom2] = 'n',           --indica que nom2 ha de ser un número
    [p.k.nom3] = {'i', {2,10}}, --indica que nom3 ha de ser un número enter entre 2 i 10
    [p.k.nom4] = 'b',           --indica que nom3 ha de ser un booleà
    [p.k.nom5] = {'a', {'AM','PM','??'}}, --indica que nom5 ha de ser una valor de 'AM','PM' i '??'
    ....
}

Diem opcionalment ja que no cal anotar cap variable si, com és habitual, es tracta d'una cadena. Altres tipus de paràmetres serien: i+ o n+ per a un numero enter positiu o un numero positiu, respectivament

Paràmetres a revisar la traducció (només infotaules lua)Modifica

És una taula (opcional) que indica els paràmetres dels qual es revisarà si hi falta alguna paraula o text (retornats per WD) per traduir a l'idioma del wiki. (Vegi's en el mòdul principal, mes aval, com assignar la categoria de manteniment). Serà similar:

p.untranslat_args = {
    p.k.nom1,
    p.k.nom4,
}

Si no es vol revisar és deixa buida, així:

p.untranslat_args = {}

Ordre dels elements etiqueta-paràmetreModifica

Té importància en la presentació de la llista (o llistes) que es mostren en l'ajuda de la infotaula; i només en el cas d'una infotaula construïda totalment amb lua per l'ordre en que apareixeran els elements en la infotaula.

Consta del seguit de noms dels paràmetres:

p.idx = {
    {'al', p.k.nom1},
    {'al', p.k.nom2},
    ....
}

On 'al' és un dels tipus d'etiqueta-paràmetre que difereixen segons:

A i18n:

  • En la infotaula sols-lua i l'ordre dels elements es pot alterar, incloent nous elements o suprimint-ne d'altres.
  • En la preinfotaula es pot determinar la posició dels nous paràmetres, vegeu aquí.

Mòdul principalModifica

Consta de dues parts principals:

  • les declaracions (la seva composició) dels paràmetres i etiquetes.
  • el programa en si.

DeclaracionsModifica

1. Variables reservades habituals per a totes les infotaules, que contenen un valor diferent de l'habitual. Són típiques les que defineixen els colors i la icona, per a aquestes ja existeix una funció, i en aquest exemple pren el valor del grup science i la clau de la icona medical_condition.

GIBT.SetColorsAndIcon ( --set 3 usual reserved keys
    GIBTi18n.lcol.science, --group color
    GIBTi18n.licon.medical_condition) --icon key, and optional hint

Que va seguida dels altres valors menys habituals que necessitin motificació, assignats dins d'una taula:

local rs = { --reserved keys and their modified values for infobox configuration
    --for default stored values of the other options look at list with allitems=list
}

2. En algun cas, variables reservades, específiques de la infotaula.

local rss = { --reserved keys and their values for this infobox (specific)
    [Abreviatura_MòdulItems.krs.rs_...] = ....,
}

3. Definició de categories de manteniment. La més habitual la dels errors en els paràmetres.

local cat = { --tracking categories
    [GIBTi.rk.rs_cat_arg_error] = "_Qnnnnnnnn",
}

4. Paràmetres i etiquetes. Aquí hi figuren MLMT.k.Args = 'Args' (o paràmetres, correspon al data de l'infobox) i MLMT.k.Labels = 'Labels' (o etiquetes). Les etiquetes corresponen al header o al label de l'infobox.

local items = {
    [MLMT.k.Args] = {
        [IPi.k.education] = {"education",	 "",},  -- "" indica que el paràmetre només podrà ser entrat manualment
        [GIBT.k.image]    = {{"image","Image"},  "_P18",}, -- "_P18" indica que buscarà la imatge en la propietat P18 de l'element a WD.
        ....
    },
    [MLMT.k.Labels] = {
        ....
        [IPi.k.component]       = "_Q1310239",        -- "_Q1310239" indica que buscarà l'etiqueta en l'element Q1310239 a WD.
        [IPi.k.canonization_by] = "Canonization by",  -- No hi ha etiqueta per a aquest valor i l'assigna directament.
    },
}

Observem de l'exemple, dos paràmetres:

  • IPi.k.education: només té una possibilitat de nom preassignada com a paràmetre ("education")
  • GIBT.k.image: té dues possibilitats de nom preassignats, i per això s'escriuen entre {}, així {"image","Image"}.

Després en l'i18n es podran assignar altres valors localitzats per als noms d'aquests paràmetres o per les etiquetes.

ProgramaModifica

Consta de dues parts fonamentals:

  • La crida a les llistes.
  • La lectura dels valors dels paràmetres passats i:
    • En una preinfotaula: enviament dels valors a la plantilla. Com que hi ha habitualment casos en que hi ha etiqueta i un valor associat, s'envien a la plantilla:
      • lbl_nom=Etiqueta, per l'etiqueta segons la Qnnnnn definida, altrament es pot utilitzar l_nom=Etiqueta alternativa per utilitzar una etiqueta que no sigui la retornada per la Qnnnnn en un article especial en concret.
      • val_nom=valor pel valor del paràmetre, si aquest s'ha assignat manualment, i val_nom=NONE si volem que un paràmetre no utilitzi l'automatisme de llegir de WD.
    • En un mòdul complet: enviament dels valors al mòdul infobox.

Mòdul principal/i18nModifica

Consta de:

Valors per defecteModifica

Al principi d'aquest mòdul es pot veure els valors dels canvis dels valors preassignats (les variables reservades) de la infotaula, sota l'etiqueta rs_val, pot prendre un aspecte similar a:

p.rs_val = { --reserved keys and their values for infobox configuration
    -- When here a value is nil or "", the used value is the value read from Global infobox tools/i18n.rs_val
    -- To see the values that these variables take, use |allitems=list
    --colors
    [GIBTi.rk.rs_colorbox]          = "", --color for title and headers
    [GIBTi.rk.rs_color_tit_cllps]   = "", --color for header of the collapsible text data
    --styles
    [GIBTi.rk.rs_bodystyle]         = "",
    [GIBTi.rk.rs_titlestyle]        = "", -- by default is rs_colorbox as background and centered text
    [GIBTi.rk.rs_headerstyle]       = "", -- by default is rs_colorbox as background 
    [GIBTi.rk.rs_subheaderstyle]    = "", -- by default is rs_color_tit_cllps as background and centered text
    [GIBTi.rk.rs_imagestyle]        = "", -- by default is padding-bottom:0.1em;line-height:1.35;font-size:98%
    [GIBTi.rk.rs_captionstyle]      = "", -- by default is padding-top:0.3em;padding-bottom:0.1em;line-height:1.35;font-size:98%
    [GIBTi.rk.rs_labelstyle]        = "", -- by default is text-align:start; padding-right:1.2em; background:#eeeeee (approx. silver)
    [GIBTi.rk.rs_datastyle]         = "", -- by default is text-align:start
    [GIBTi.rk.rs_belowstyle]        = "", -- 
    --icon
    [GIBTi.rk.rs_icon]              = "", -- filename of the icon that appears beside of the title
    [GIBTi.rk.rs_icon_at_begin]     = nil, -- the position in relation to the title
    [GIBTi.rk.rs_icon_hint]         = "", -- by default is the template name, displayed when hovering over the icon with the mouse cursor 
    --image
    [GIBTi.rk.rs_image_max_num]	    = 1, -- max number of images (1-2)
    [GIBTi.rk.rs_def_image_size]    = "", -- by default is 300x300px
    [GIBTi.rk.rs_send_img_preinfobox] = false,  -- only used by preinfoboxes, if true read from WD the values and more (read info)
    --referred to label/data content
    [GIBTi.rk.rs_changeable_lbls]   = nil, -- if true, allows users to change the label text, using the next prefix:
    [GIBTi.rk.rs_param_prefix_lbl]  = "", -- by default is l_
    [GIBTi.rk.rs_def_charnum_cllps] = nil, --number of characters from which the text will appear collapsed (for some label-data items)
    [GIBTi.rk.rs_below]             = "", --fixed text (i.e. information) for for all the same infoboxes
}

Així com que GIBTi.rk.rs_colorbox = "" vol dir que no es canvia el color de la infotaula, i que s'utilitzarà el valor establert a Principal.

Localització de paràmetres i etiquetesModifica

p.items = {
    [MLMT.k.Args] = {
        [GIBT.k.image] = "imatge", --aquesta és el nom  en la nostra llengua per a image
        ....
    },
    [MLMT.k.Labels] = {
        ....
        [GIBT.k.component]     = "",               --no se subministra una etiqueta alternativa a la que ja proporciona la crida a WD.
        [IPi.k.canonization_by] = "Canonitzat per", --se subministra un valor per a l'etiqueta ja que no hi ha un valor a retornar de WD.
    },
}

Altres elementsModifica

Que són específics, per a la creació de paràmetres no-estàndard, mireu aquí:

Variables reservadesModifica

Entre els paràmetres hi han uns que seran tractats de forma diferenciada i que corresponen a valors que només seran modificats per l'administrador de la infotaula. Aquests paràmetres tindran de prefix del nom rs_ (de reservat). Els seus valors es poden veure en les llistes generades de paràmetres i etiquetes o de sols paràmetres.

Clau reservada Definició Valor per defecte
Colors
rs_colorbox Color pels encapçalaments - cap: transparent --
Es pot definir amb GIBT._GetInfoboxColor (GIBTi18n.lcol.nom_de_grup,1) o millor amb GIBT.SetColorsAndIcon.
Mireu Colors pels títols
rs_color_tit_cllps Aquí tit vol dir title (títol) o cllps collapse (col·lapse)
Color per l'encapçalament d'un text col·lapsable
- cap: transparent -
Es pot definir amb GIBT._GetInfoboxColor (GIBTi18n.lcol.nom_de_grup,2) o millor amb GIBT.SetColorsAndIcon.
Mireu Colors pels títols
Estils
rs_bodystyle Body style --
rs_titlestyle Estil del títol background:colorbox i text centrat
  Preval sobre colorbox
rs_headerstyle Estil dels encapçalaments background:colorbox
  Preval sobre colorbox
rs_subheaderstyle Estil del subencapçalament i encapçalament amb text col·lapsable background:color_tit_cllps
  Preval sobre color_tit_cllps
rs_imagestyle Estil del peu d'imatge pres des de WD padding-bottom:0.1em;line-height:1.35;font-size:98%
rs_captionstyle Estil del peu d'imatge padding-top:0.3em;padding-bottom:0.1em;line-height:1.35;font-size:98%
rs_labelstyle Estil de les etiquetes padding-right:1.2em; background:    
rs_datastyle Estil de les dades --
rs_belowstyle Estil del text fix del peu de la infotaula (rs_below) --
Icona
rs_icon Nom de la icona. Icona que es mostra en la barra del títol de la infotaula. Es pot haver assignat alguna de les icones preestablertes que podeu trobar al final (Icones pels títols). Es pot assignar amb GIBT.SetColorsAndIcon</code. En cas que no es vulgui mostrar la icona preestablerta per a una infotaula concreta, i no substituir-la per una altra, escriviu-hi "NONE".
rs_icon_at_begin Determina si la icona esmentada es mostra abans (begin, per tant true) o després del títol (false). En idiomes de dreta a esquerra el principi vol dir, lògicament, a l'esquerra. Abans (true)
rs_icon_hint Missatge que es mostra al passar el cursor del ratolí per sobre de la icona El nom de la plantilla. Es pot canviar el missatge o fer que no aparegui amb "NONE"
Imatge/s
rs_image_max_num Màxim nombre d'imatges permeses ja sigui entrades manualment o retornades automàticament des de WD. Recordem que segurament sempre és millor assignar-la/-es manualment. 2
rs_def_image_size Mida de la imatge/s per defecte. Que s'ajusta a l'amplada de la infotaula, ja que habitualment està limitat el valor a l'amplada; però també es pot establir un valor màxim per a l'alçada, amb el format {amplada}x{alçària}px 300x300px
rs_send_img_preinfobox Només utilitzat per a les preinfotaules:
  • Si és true s'envien els valors a utilitzar directament per la plantilla, llegits dels paràmetres o des de WD, que inclouen:
    • val_image o val_image1 i val_image2
    • val_caption o val_caption1 i val_caption2
    • val_rs_img_used_hand, nombre d'imatges entrades manualment
    • val_rs_img_used_WD, nombre d'imatges llegides de WD
    • val_rs_img_caption, nombre de peus d'imatge
  • Si és false s'envien els valors dels paràmetres, però sense fer cap crida a WD (si no hi ha imatges, serà la plantilla qui les buscarà a WD).
false
Altres
rs_changeable_lbls Si és true permetrà a l'usuari canviar el text de les etiquetes de les infotaules. En aquest cas, i per exemple si una etiqueta té de nom "label" i mostra "Etiqueta", si l'usuari manualment indica l_label=altre, la infotaula mostrarà "Altre" true
rs_param_prefix_lbl] Prefix per identificar les etiquetes que l'usuari podrà modificar segons la variable anterior "l_"
rs_def_charnum_cllps On def és default, charnum és characters number i cllps és collapse; que és el nombre de caràcters per defecte a partir del qual el text es presentarà col·lapsat sota el títol-etiqueta que encapçala el text. 180

(Correspon aproximadament a 3 línies)

rs_below Habitualment un text fix per a totes les infotaules, per exemple algunes Viquipèdies en la infotaula de malaltia fan un advertiment dient que la Viquipèdia no és un lloc per saber el que hom té o de trobar-ne remei; o indica que és el portal de Medicina.

D'error i manteniment

Aquests paràmetres no estan inclosos en el i18n ja que no té sentit la traducció. Es poden visualitzar i modificar amb la llista.

Clau reservada Definició Enllaç a WD
pel seu valor localitzat i/o específic
categ_arg_dupli Nom de la categoria on s'anoten els articles que tenen un nom d'article duplicat en la infotaula. Com que és un cas molt rar queden assignades totes les infotaules que utilitzen el sistema en una mateixa categoria. Categoria:Pàgines amb paràmetres duplicats en utilització d'infotaules (Q89919289).
categ_arg_error Nom de la la categoria on s'anoten els articles que tenen un nom d'article erroni per a una infotaula concreta. Per exemple: Q90498582 (Q90498582).
Variarà en funció de la infotaula.
error Etiqueta qua apareix al final de tot de la infotaula quan hi ha un dels dos errors definits anteriorment. Error (Q29485).

Les categories d'error s'han de crear per poder-les visualitzar amb un contingut similar a:

{{Maintenance category}}
{{Notice|List of pages automatically generated from {{tl|Infobox...}} of articles containing .... Updating the list is not immediate unless the article has just been edited.
__HIDDENCAT__
[[Category:Infoboxes with unknown parameters]]

Aquí el nom de la plantilla, la podríeu trobar a Plantilla:Categoria no enciclopèdica (Q5618182) i la categoria a Categoria:Infotaules usades amb paràmetres desconeguts (Q56486184).

Per les infotaules en lua podeu trobar a més:

    [GIBTi.rk.rs_categ_wds_untranslat] = "_Q90778219",
  • categ_wds_untranslat, és la categoria on s'anoten els articles que tenen un paraula o text retornat de WD que no està traduït a la llengua pròpia. La categoria ha d'estar definida a WD per la localització específica, hi podeu accedir clicant (en aquest exemple) a Q90778219 (Q90778219).

La llista de paràmetres a revisar està descrita a principal/items.

Tipus de paràmetresModifica

Els paràmetres són tractats habitualment com a cadenes i no hi ha cap comprovació; però les infotaules permeten assignar tipus i restriccions especials pels valors del paràmetres:

Tipus Clau Observacions
Cadena s s'assigna per defecte
Número real n n+ pels positius, altrament es poden establir límits
Número enter i i+ pels positius, altrament es poden establir límits. A recordar que els decimals s'han d'anotar en format anglès, és a dir: utilitzar només el punt com a separació dels decimals.
Data d només es té en compte pel TemplateData
Booleà b sí-no, true-false, etc.
Mida sz (sz = size), número enter positiu seguit de em o px
Matriu a (a = array), cadena a escollir d'una matriu possible de valors

Els límits per als números hauran d'incloure el límit superior i l'inferior, dins d'una taula. Per exemple: {1,10}, llavors també s'haurà d'incloure el tipus en una taula, així: {'i', {1,10}} o {'n', {0.1,9.9}}.

Les matrius han de ser incloses en una taula. Per exemple: {'a', {'nord','sud','est','oest'}}.

Paràmetres de les imatgesModifica

Situats en la subtaula MLMT.k.Args

Taula Key
GIBTi.ik
Noms Noms anglès
i_items1 image imatge image, Image
image_idx imatge_idx image_idx
alt alt
size mida, amplada size, width
caption peu caption, Caption
i_items2 image1 imatge, imatge1 image, Image, image1, Image1
image_idx1 imatge_idx1 image_idx1
alt1 alt, alt1
size1 mida, amplada, mida1, amplada1 size, width, size1, width1
caption1 peu, peu1 caption, Caption, caption1, Caption1
image2 imatge2 image2, Image2
image_idx2 imatge_idx2 image_idx2
alt2 alt2
size2 mida2, amplada2 size2, width2
caption2 peu2 caption2, Caption2

Tipus de llistesModifica

Per tal de facilitar la localització, les llistes es mostren amb un taula de files ordenables (i ordenades, inicialment, per ordre d'aparició en la infotaula). Es mostren

  • la clau,
  • segons s'ha anotat en la taula que segueix: el text per les etiquetes, paraules reservades o noms dels paràmetres,
  • les propietats o qualificadors de WD utilitzats i
  • la localització: ja sigui el valor retornat de WD o anotat al mòdul i18n.

Habitualment en la documentació de la plantilla i del mòdul es mostren els tres tipus de llistes:

Què es llista Crida
Variables reservades, paràmetres i d'etiquetes allitems=list
Paràmetres allitems=params
Etiquetes allitems=labels

Uns conceptes de luaModifica

Característiques de les clausModifica

Una clau és senzillament el nom d'una variable en lua. Així:

  • Cada variable del nom només admet caràcters de la a a la z, A a la Z, _ i xibres que no estiguin al principi.
  • IMPORTANT: en lua es té en compte si és majúscula o minúscula. Així nom1 no és igual a Nom1.

Pels que tinguin algun coneixement de programació en lua no hi ha distinció entre constants i variables o dit d'altre manera tot són variables.

Cadena luaModifica

Es a dir les string o cadenes sempre van definides entre " o ', indistintament (però no simultàniament).

Així, per assignar la cadena "nom1" a la variable n s'utilitza un =.

Així n = "nom1" és el mateix que escriure n = 'nom1'. Però és incorrecte n = "nom1'.

Taula luaModifica

Una taula és senzillament una col·lecció d'elements.

Senzillament consta d'un nom i un seguit d'elements separats per comes, per exemple:

xifres = {1,2,3,4,5,6,7,8,9}

Complicant la cosa: cadascun dels elements poden tenir noms o ser ells mateixos taules. Per exemple:

paisos = {
   ["Europa"] = {"Albània", "Alemanya", "Andorra", "Armènia", ...},
   ["Àsia"]   = {
       ["Àsia central"]  = {"Kazakhstan", "Kirguizistan", "Tajikistan", ...},
       ["Àsia oriental"] = {"Corea del Nord", "Corea del Sud", "Hong Kong", ...},
       ...
       },
    ...
    }

O el que és el mateix:

k = {
    Europe = "Europa",
    Asia = "Àsia",
    Central_Asia = "Àsia central",
    East_Asia = "Àsia oriental",
    }
paisos = {
   [k.Europe] = {"Albània", "Alemanya", "Andorra", "Armènia", ...},
   [k.Asia]   = {
       [k.Central_Asia] = {"Kazakhstan", "Kirguizistan", "Tajikistan", ...},
       [k.East_Asia]    = {"Corea del Nord", "Corea del Sud", "Hong Kong", ...},
       ...
       },
    ...
    }

Abreviatura d'un mòdul requeritModifica

Quan es necessita alguna variable o funció (que, per exemple, s'anomeni MevaFuncio1) d'un mòdul (que, per exemple, s'anomeni MeuModul) s'utilitza la funció require() des d'un altre mòdul. Vindria a ser com {{#invoke|MeuModul|MevaFuncio1}} des d'una plantilla. L'equivalent seria require("Module:MeuModul").MevaFuncio. Si es necessita molts de cops això no seria pràctic, per això s'utilitza una variable intermitja MM, així.

local MM = require("Module:MeuModul")
...
MM.MevaFuncio1()
MM.MevaFuncio2()
...

De forma pràctica s'inclouen al principi del mòdul les abreviatures-variables.

"Comodí" p.Modifica

Per tal de poder "exportar" variables i funcions a un altre mòdul, aquestes variables o funcions van precedits per p.. Si es defineix una variable p.error que contindrà l'explicació d'un error produït, i recollit al mòdul SimpleArgs, per saber que conté des d'un altre mòdul i amb l'abreviatura SA pel mòdul, li demanarem el valor amb SA.error.

Elements preestablerts utilitzablesModifica

En la Viquipèdia en català s'utilitzen uns elements diferenciadors (color del títol i icones):

Colors pels títols i encapçalamentsModifica

Els següents colors són referits:

  • Header: Al color de fons del títol i dels encapçalaments de grup. Correspon a rs_colorbox.
  • Subheader: A etiquetes que tenen un contingut llarg (per tant, amb text col·lapsable). Correspon a rs_color_tit_cllps.
HeaderRGBSubheaderRGB
 building #c3e2ef building #e2ecf0
 culture Moccasin culture #f4ecdd
 event #ccccff event #e3e3f6
 living_being gold living_being #eee8cb
 location #d9b38c location #e3d9ce
 organization LightSalmon organization #eed5cb
 person #d6d6c2 person #e5e5d9
 science #b0d1ad science #d5e0d4

Es poden utilitzar altres colors, redefinibles a l'i18n, a :

p.preset_val = {
    [GIBTi.rk.rs_colorbox]	 = "", -- ? Header
    [GIBTi.rk.rs_color_tit_cllps] = "", -- ? Subheader
    ...

Per a obtenir un color concret:

{{#invoke:Global infobox tools|GetInfoboxColor|culture|2}} -> #f4ecdd

Icones pels títolsModifica

En la Viquipèdia en català s'utilitzen les següent icones per a les infotaules, amb la correspondència a la plantilla en anglès si aquesta existeix:

KeyIcon nameIcon
Arts and culture
artworkPicture icon BLACK.svg 
_audiovisual_programTransmitter (824) - The Noun Project.svg 
_TV_serieTV_icon.svg 
filmIc movie 48px.svg 
languageOcticons-comment.svg 
language_familyOcticons-comment.svg 
characterCharacter-icon-3.1.svg 
graphemeTransponaturtecken.svg 
programming_languageHigh-contrast utilities console.svg 
typefaceCapitalis monumentalis A.svg 
writing_systemKanji Wa.svg 
albumLinecons_vynil.svg 
music_genreAntu audacious.svg 
musical_compositionMusical note nicu bucule 01.svg 
playEmoji u1f3ad-bw.svg 
songMusical note nicu bucule 01.svg 
bookEmoji u1f4d6 ct.svg 
documentSimpleicons Business note-1.svg 
newspaperNoto Emoji KitKat 1f4f0 t.svg 
websiteAntu tag-places-black.svg 
flagPICOL Flag.svg 
emblemCoat of arms high contrast icon.svg 
video_gameVideo game controller icon designed by Maico Amorim.svg 
video_game_seriesVideo game controller icon designed by Maico Amorim.svg 
Geography and place
_locationSimpleicons Places placeholder-tool.svg 
_political_geographyCC-devnations.svg 
buildingOrganization icon.svg 
roadAB-AS.svg 
streetAB-AS.svg 
stationAiga railtransportation 25.svg 
Health
anatomyBone noun 71979 cc.svg 
drugMcCormick Pills.svg 
medical_conditionArrythmia noun 246518 cc.svg 
medical_interventionSurgeon icon with eyes.svg 
drinkIc local bar 48px.svg 
wine_regionSimpleicons Interface glass-with-wine.svg 
foodEmojione BW 1F36E.svg 
cheeseToicon-icon-stone-curdle.svg 
History and events
eventSimpleicons Business calendar-with-a-clock-time-tools.svg 
military_conflictBattle icon gladii.svg 
treatyFont Awesome 5 regular calendar-check.svg 
spaceflightOcticons-rocket.svg 
People and person
personSimpleicons Interface user-outline.svg 
hereditary_titleCoat of arms high contrast icon.svg 
_orderGroup half.svg 
sportEmoji_u26bd_transparent.svg 
sports_competition_eventBaseball Picol icon.svg 
gameOOjs UI icon die-ltr.svg 
football_club_seasonNoun project 393.svg 
sports_teamNoun project 393.svg 
Society and social science
organizationGroup half.svg 
currencyCommunity Noun project 39956.svg 
economyLinecons banknote.svg 
ethnic_groupFemale_icon.svg 
legislationRpb notepad icon.svg 
military_unitCrossed cannons.svg 
nameBlack - replace this image female.svg 
occupationSymbole travaux marteau et clef.svg 
official_postFP Interior icon.svg 
Science and nature
asteroideIcona asteroide.svg 
astronomical_eventNoun Astronomy Icon2.svg 
astronomical_objectGalaxy icon.svg 
feature_on_celestial_objectAntu palemoon b&w.svg 
_satelliteToicon-icon-lines-and-angles-sleep.svg 
starTwemoji 2734 black.svg 
fossilLeaf icon (Noun Project).svg 
TaxoboxButterfly icon (Noun Project).svg 
cat_breedCat_silhouette.svg 
dog_breedDog.svg 
horse_breedFont Awesome 5 solid horse.svg 
chemicalTest tube icon.svg 
isotopeAtom editor logo black.svg 
particleAtom editor logo black.svg 
proteinPlain DNA icon.svg 
enzymeNoun_project_3067.svg 
mineralLinecons diamond.svg 
rockNoun project 528.svg 
numberEmojione BW 0037.svg 
physical_quantityNoun project 1842.svg 
polyhedronPyramid icon.svg 
unitNoun project 1842 flipped.svg 
colorIc palette 48px.svg 
cloud_typeIc cloud 48px.svg 
Technology and applied science
_file_formatOcticons-file-code.svg 
softwareCrystal Clear app winprops bw.svg 
top_level_domainAntu application-vnd-google-earth-kml-black.svg 
_aircraftPlane icon.svg 
automobileAiga carrental cropped.svg 
_boatFerry symbol padded.svg 
motorcycleMotorcycle icon.svg 
vehicle_espacialOcticons-rocket.svg 
cameraCamera (Windows) icon.png 
_computer_equipmentIc settings applications 48px.svg 
instrumentSimple Music.svg 
mobile_phoneMobile phone font awesome2.svg 
toolIc settings applications 48px.svg 
weaponPistol icon.svg 

Si be se'n poden utilitzar d'altres.


Per a obtenir una icona concreta:

{{#invoke:Global infobox tools|GetIcon|person}} -> Simpleicons Interface user-outline.svg

ExemplesModifica