Modulo:Linguaggi/man

Da Wikiversità, l'apprendimento libero.

Questa è la pagina di documentazione per Modulo:Linguaggi

Modulo Lua per implementare le funzioni dei template {{Nomelingua}}, {{Lingue}} e templati ad essi collegati e per offrire le medesime funzionalità ad altri moduli Lua senza dover dipendere da chiamate ai medesimi template.

Funzioni[modifica]

Per moduli Lua[modifica]

Il modulo rende disponibili alcune funzioni per altri moduli Lua, per utilizzarle occorre prima caricare il modulo con l'istruzione: local lg = require( "Modulo:Linguaggi" );

Le funzioni saranno disponibili come lg.nomefunzione (lg è solo un nome di esempio, si può scegliere quello che si preferisce purché si richiamino coerentemente le funzioni, per esempio si può usare local lingue = require( "Modulo:Linguaggi" );, in questo caso le funzioni andranno richiamate come lingua.nomefunzione

esiste(code)
ritorna true se code corrisponde a una lingua, altrimenti false
get_nome(code, maiuscolo, default)
ritorna la coppia nome della lingua corrispondente a code e code normalizzato (per esempio se code è "inglese" ritorna (lingua inglese, en). Se maiuscolo è vero la prima lettera del nome ritornato è maiuscola. Se non trova una lingua corrispondente a code ritorna il valore default se questo è definito, altrimenti ritorna stringa nulla '' e il valore di code originariamente passato.
get_voce(code)
ritorna il nome della voce dedicata alla lingua corrispondente a code. Se il modulo non trova la voce ritorna stringa nulla ''
lingue(lista_di_lingue)
ritorna le lingue corrispondenti a lista_di_lingue formattate come da template {{lingue}}. Se si deve passare una stringa piuttosto che una lista trasformarla in lista, per esempio chiamando la funzione racchiudendo la stringa tra parentesi graffe: lg.lingue( {stringa} )

Per i template[modifica]

Il modulo comprende anche funzioni per implementare direttamente alcuni template, a cui si rimanda per la sintassi d'uso:

lingue(frame)
oltre a fare da interfaccia diretta per altri moduli Lua implementa anche il modulo {{Lingue}}
nomecompleto(frame)
implementa le funzionalità di {{nomelingua}}
nome(frame)
implementa le funzionalità di {{nomelingua/nome}}
voce(frame)
implementa le funzionalità di {{nomelingua/voce}}

Di documentazione[modifica]

tabella
richiamata da una pagina wiki con {{#Invoke:Linguaggi|tabella}} ritorna una tabella di tutti i codici e dei nomi e collegamenti alle pagine delle lingue riconosciute.

Note tecniche[modifica]

I dati utilizzati sono caricati nel modulo modulo:Linguaggi/Configurazione, che contiene due tabelle, la prima di alias di lingue che associa ad ogni codice riconosciuto per una lingua un codice standard (generalmente il codice ISO_639-3 della lingua). La seconda che associa a ogni codice standard il nome per la lingua e la sua pagina su it.wiki.

Per aggiungere un nuovo alias per una lingua già riconosciuta dal modulo basta aggiungere alla tabella language_config.alias una riga nel formato

    ["alias"] = "codice_standard"',

dove alias è l'alias da inserire e codice_standard è il codice standard che deve essere già inserito nella tabella language_config.codici.

Per inserire una nuova lingua basta aggiungere alla tabella language_config.codici una riga nel formato:

    [ "codice_standard"] = { "nome_lingua", "articolo" },

dove codice_standard è il codice standard usato dal programma (usare in ordine di preferenza codice ISO 639-1 (due lettere) altrimenti il ISO 639-2 (tre lettere), se nessuno dei due esiste usare un altro codice, purchè non sia un codice ISO 639-1 o ISO 639-2 dedicato ad altra lingua), nome lingua il nome della lingua come dev'essere visualizzato a video e articolo il nome dell'articolo di wikipedia dedicato alla lingua. Per inserire codici alternativi per la lingua vedi istruzioni del paragrafo sopra.

Nota bene: i codici e gli alias delle lingue devono essere inseriti in lettere minuscole o non verranno riconosciuti.