Modulo:Split categoria

Questo modulo serve per dividere l'ambito di una categoria dalla lingua, reperendo i dati dal titolo della categoria stessa

Sintassi

Isolare l'ambito

Per isolare l'ambito, cioè la parte precedente al codice ISO della lingua bisogna usare {{#invoke: Split categoria | categoria }}

Isolare la lingua

Mentre per isolare la lingua, e restituirla in minuscolo, la sintassi da usare è {{#invoke: Split categoria | categoriaLingua }}

Esempio

Usiamo, per questi due esempi, la categoria Categoria:Biochimica-IT:

  1. {{#invoke: Split categoria | categoria }}
    • darà come risultato: Biochimica
  1. {{#invoke: Split categoria | categoriaLingua }}
    • darà come risultato: it

Se usiamo la sintassi in una categoria senza la parte della lingua (es: Categoria:Biochimica), entrambe le funzioni restituiranno Biochimica, ma mentre con {{#invoke: Split categoria | categoria }} l'iniziale sarà come scritta nel titolo (in questo caso maiuscola), con {{#invoke: Split categoria | categoriaLingua }} l'iniziale sarà sempre minuscola.

Funzione pratica

Questo modulo è stato pensato per essere usato nelle "categorie specializzate" in modo da solare la parte dell'ambito da quella riportante la lingua in modo da poterle utilizzare separatamente per altre funzioni. Un esempio pratico può essere visto nel template {{Avviso categoria specializzata}}.


local getArgs = require('Modulo:Arguments').getArgs

local p = {}
local titolo = mw.title.getCurrentTitle().subpageText

function p.categoria(frame)
	ambito = mw.ustring.match(titolo, '^([%a%s,]+)-') -- Recupera la parte dell'ambito
	return ambito
end

function p.categoriaLingua(frame)
	lingua = mw.ustring.gsub(titolo, '^([%a%s,]+)-', '') -- recupera la lingua
	return lingua:lower()
end
return p