Modulo:Typo

Versione del 5 ott 2013 alle 21:17 di Moroboshi (discussione | contributi) (se usi un elemento di tabella più volte è più veloce (e più chiaro) se lo copi in una variabile locale. controllare che il primo argomento sia effettivamente in tabella)

Questo modulo serve in appoggio ad alcune sostituzioni effettuate in maniera automatica o semi-automatica per effettuare correzioni grammaticali nelle voci (esempio di utilizzo).

Pagine correlate


local p={};

function p.preposizione(frame)
	local arg1 = frame.args[1]
    if arg1 == nil or arg1 == "" then return nil end
    local arg2 = frame.args[2]
    if arg2 == nil or arg2 == "" then return nil end
    local tables = {
        ['di'] = {
            ['il'] = 'del',
            ['lo'] = 'dello',
            ['la'] = 'della',
            ['i'] = 'dei',
            ['gli'] = 'degli',
            ['le'] = 'delle',
            ['l’'] = 'dell\'',
            ['l\''] = 'dell\''
        },
        ['a'] = {
            ['il'] = 'al',
            ['lo'] = 'allo',
            ['la'] = 'alla',
            ['i'] = 'ai',
            ['gli'] = 'agli',
            ['le'] = 'alle',
            ['l’'] = 'all\'',
            ['l\''] = 'all\''
        },
        ['da'] = {
            ['il'] = 'dal',
            ['lo'] = 'dallo',
            ['la'] = 'dalla',
            ['i'] = 'dai',
            ['gli'] = 'dagli',
            ['le'] = 'dalle',
            ['l’'] = 'dall\'',
            ['l\''] = 'dall\''
        },
        ['in'] = {
            ['il'] = 'nel',
            ['lo'] = 'nello',
            ['la'] = 'nella',
            ['i'] = 'nei',
            ['gli'] = 'negli',
            ['le'] = 'nelle',
            ['l’'] = 'nell\'',
            ['l\''] = 'nell\''
        },
        ['con'] = {
            ['il'] = 'col',
            ['lo'] = 'con lo',
            ['la'] = 'con la',
            ['i'] = 'coi',
            ['gli'] = 'con gli',
            ['le'] = 'con le',
            ['l’'] = 'con l\'',
            ['l\''] = 'con l\''
        },
        ['su'] = {
            ['il'] = 'sul',
            ['lo'] = 'sullo',
            ['la'] = 'sulla',
            ['i'] = 'sui',
            ['gli'] = 'sugli',
            ['le'] = 'sulle',
            ['l’'] = 'sull\'',
            ['l\''] = 'sull\''
        },
        ['per'] = {
            ['il'] = 'per il',
            ['lo'] = 'per lo',
            ['la'] = 'per la',
            ['i'] = 'per i',
            ['gli'] = 'per gli',
            ['le'] = 'per le',
            ['l’'] = 'per l\'',
            ['l\''] = 'per l\''
        },
        ['tra'] = {
            ['il'] = 'tra il',
            ['lo'] = 'tra lo',
            ['la'] = 'tra la',
            ['i'] = 'tra i',
            ['gli'] = 'tra gli',
            ['le'] = 'tra le',
            ['l’'] = 'tra l\'',
            ['l\''] = 'tra l\''
        },
        ['fra'] = {
            ['il'] = 'fra il',
            ['lo'] = 'fra lo',
            ['la'] = 'fra la',
            ['i'] = 'fra i',
            ['gli'] = 'fra gli',
            ['le'] = 'fra le',
            ['l’'] = 'fra l\'',
            ['l\''] = 'fra l\''
        },
    }
	if tables[arg1] == nil then return nil end -- in caso contrario quando si tenta di accedere ad arg2 viene generato un errore di script
    return tables[arg1][arg2]
end

return p