Modulo Lua di supporto a Modulo:Citazione. Contiene le tabelle di configurazione con i nomi dei parametri, i messaggi di errore, i parametri per la gestione degli identificatori (codici ISBN, doi, ecc..).


local citation_config = {};

--[[ ===============================================================================
Lista di namespaces che non dovrebbero essere incluse nelle
categorie di citazione degli errori.
Equivalente a settare  notracking = true di default

Note: I nomi dei namespace dovrebbero usare sottolineature invece di spazi.
	===============================================================================]]
citation_config.uncategorized_namespaces = { 'Utente', 'Discussioni_utente', 'Discussione', 'Discussioni_modulo', 'Discussioni_template' };

--[[ ===============================================================================
Tavola di traduzione

Contiene il testo che può essere emesso come parte di una citazione.
	===============================================================================]]
citation_config.messages = {
	['retrieved'] = '<small>URL conzultate$2$1</small>',
	['inactive'] = 'inattivo',
	['archived-dead'] = '<small>(archivijate da l\'<abbr title="$1">url origgenale</abbr>$3$2$4)</small>',
	['archived-not-dead'] = '<small>($1$3$2$4)</small>',
	['archived-missing'] = '<small>(archivijate da l\'origgenale$3$2$4)</small>$1',
	['archived-second-copy'] = '; seconde copie $1$3$2',
	['archived'] = 'archivijate',
	['archived2'] = 'archivijate',
	['original'] = 'url origgenale',
	['editor'] = '$1 (a cure de)',
	['editors'] = '$1 (a cure de)',
	['episode'] = 'episodie $1',
	['season_episode'] = 'episodie $1x$2',
	['in'] = 'In',
	['et al'] = " ''et al.''",
	['origdate'] = '<abbr title="Date de edizione origgenale">[$1]</abbr>',
	['language'] = '(in $1)',
	['subscription'] = '(richieste iscrizione)',
	['via'] = "Ospitate sus $1",
	['viasubscription'] = "Ospitato su $1 (richieste iscrizione)",
	['quoted-title'] = '«$1»',
	['italic-title'] = '<span style="font-style:italic;">$1</span>',
	['trans-quoted-title'] = "&#91;$1&#93;", -- char #91=[ char #93=]
	['trans-italic-title'] = '&#91;<span style="font-style:italic;">$1</span>&#93;',
	['quoted-text'] = '<br /><div class="cite-q">«$1»</div>', -- Non sostituire con un newline causa [[WP:RemexHTML]]
	['translator'] = 'traduzione de $1',
	['illustrator'] = 'illustraziune de $1',

	['parameter'] = '<code>$1</code>', -- char #124 = ', '
	['parameter-separator'] = ', ',
	['parameter-final-separator'] = ' e ',
	['parameter-pair-separator'] = ' e ',
	
	--icons
	['Wikisource icon'] = '[[File:Wikisource-logo.svg|12px|class=noviewer|alt=Wikisource link to]]',
	['icon_audio'] = '[[File:Gnome-audio-volume-high.svg|16px|link=|alt=Filmato video]]',
	['icon_video'] = '[[File:35mm film frames.svg|16px|link=|alt=Filmato audio]]',
	
	-- Error output
	['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
	['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',

	-- Determines the location of the help page
	['help page link'] = 'Modulo:Citazione/Aiuto',
	['help page label'] = 'aiuto',

	-- Internal errors (should only occur if configuration is bad)
	['undefined_error'] = 'Chiamato con una configurazione di errore non definita',
	['unknown_argument_map'] = 'Argomento non mappato',
	['bare_url_no_origin'] = 'Trovato url nudo ma l\'indicatore di origine è nil o vuoto'

}

--[[ ===============================================================================
Alias dei nomi usati per i parametri
	===============================================================================]]
citation_config.aliases = {
	['Abstract'] = 'abstract',
	['AccessDate'] = {'accesso', 'datadiaccesso', 'dataaccesso'},
	['AccessYear'] = {'annodiaccesso', 'annoaccesso'},
	['AccessMonth'] = {'mesediaccesso', 'meseaccesso'},
	['AccessDay'] = {'giornodiaccesso', 'giornoaccesso'},
	-- ['Anchor'] = {'ancora', 'segnalibro'},
	['ArchiveDate'] = 'dataarchivio',
	['ArchiveDate2'] ='dataarchivio2',
	['ArchiveURL'] = 'urlarchivio',
	['ArchiveURL2'] = 'urlarchivio2',
	['Cartography'] = 'cartografia',
	['Chapter'] = {'capitolo', 'contributo', 'voce', 'articolo', 'sezione' },
	['ChapterLink'] = 'wkcapitolo',
	['ChapterURL'] = {'urlcapitolo', 'url_capitolo', 'urlcontributo' },
	['Coauthors'] = {'coautore', 'coautori' },
	['Conference'] = 'conferenza',
	['ConferenceURL'] = {'urlconferenza', 'url_conferenza' },
	['Date'] = {'data', 'datatrasmissione'},
	['Day'] = 'giorno',
	['DeadURL'] = {'urlmorto', 'deadurl'}, -- il primo valore è usato da IABot
	['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
	['Edition'] = { 'edizione', 'ed' },
	['Editors'] = 'curatori',
	['Etal'] = 'etal',
	['Etalcuratori'] = 'etalcuratori',
	['Embargo'] = 'embargo',
	['Format'] = 'formato',
	['Hour'] = 'ora',
	['ID'] = {'id', 'ID', 'codici'},
	['Illustrator'] = {'illustratore', 'illustratori'},
	['IgnoreISBN'] = {'ignoraisbn'},
	['Inset'] = 'inset',
	['Institution'] = 'ente',
	['Issue'] = {'numero', 'episodio'},
	['Language'] = {'lingua'},
	['LastAuthorAmp'] = 'lastauthoramp',
	['LayDate'] = 'laydate',
	['LaySource'] = 'laysource',
	['LayURL'] = {'layurl', 'laysummary'},
	['Minutes'] = 'minuto',
	['Month'] = 'mese',
	-- ['NameSeparator'] = 'separatorenomi',
	['NoPP'] = 'nopp',
	['NoTracking'] = {'nocat', 'notracking', "no-tracking"},
	['OrigYear'] = 'annooriginale',
	['OrigMonth'] = 'meseoriginale',
	['OrigDay'] = 'giornooriginale',
	['OrigDate'] = 'dataoriginale',
	['Organization'] = 'organizzazione',
	['Others'] = 'altri',
	['Position'] = {'p','pp', 'pagina', 'pagine', 'posizione' },
	['Periodical'] = {'pubblicazione', 'giornale', 'rivista', 'opera', 'sito',
						'periodico', 'enciclopedia', 'dizionario', 'collana'},
	['Place'] = 'città',
	['PostScript'] = { 'postscript', 'puntofinale'},
	['PostTitle'] = 'posttitolo',
	['PublicationDate'] = 'datapubblicazione',
	['PublisherName'] = {'produttore', 'editore'},
	['Quote'] = 'citazione',
	['Ref'] = {'cid'},
	['Scale'] = 'scala',
	['Seconds'] = 'secondo',
	['Section'] = 'sezione',
	['Series'] = {'serie', 'trasmissione', 'versione'},
	['SeriesLink'] = {'wkserie', 'wktrasmissione'},
	['Source'] = {'s', 'source', 'wikisource'},
	['Station'] = 'canale',
	['StationLink'] = 'wkcanale',
	['Style'] = 'stile',
	['SubscriptionRequired'] = 'richiestasottoscrizione',
	['Time'] = 'tempo',
	['Title'] = 'titolo',
	['TitleLink'] = 'wktitolo',
	['TitleType'] = {'tipo'},
	['Translator'] = {'traduttore', 'traduttori', 'trad'},
	['Transcript'] = 'trascrizione',
	['TranscriptURL'] = {'url-trascrizione', 'urltrascrizione'},
	['TransChapter'] = 'capitolotradotto',
	['TransTitle'] = 'titolotradotto' ,
	['OriginalTitle'] = 'titolooriginale',
	['URL'] = {'url', 'URL'},
	['Via'] = 'via',
	['Volume'] = {'volume', 'vol', 'stagione'},
	['Year'] = 'anno',
	['Ignoredcopertina'] = 'copertina',
	['Ignoredromano'] = 'romano',
	['Ignoredevidenzia'] = 'evidenzia',
	['AuthorList-First'] = {"nome#"},
	['AuthorList-Last'] = {"autore#", "cognome#"},
	['AuthorList-Link'] = {"wkautore#", "linkautore#"},

	-- $1 è l'alias di Chapter impiegato in voce
	['ContributorList-First'] = {"autore-$1#-nome", "autore-$1-nome#"},
	['ContributorList-Last'] = {"autore-$1#-cognome", "autore-$1-cognome#", "autore-$1#"},
	['ContributorList-Link'] = {"wkautore-$1#"},

	['EditorList-First'] = {"curatore#-nome", "curatore-nome#"},
	['EditorList-Last'] = {"curatore#-cognome", "curatore-cognome#", "curatore#"},
	['EditorList-Link'] = {"wkcuratore#"},

	-- $1 è l'alias di Chapter impiegato in voce
	['ChapterEditorList-First'] = {"curatore-$1#-nome", "curatore-$1-nome#"},
	['ChapterEditorList-Last'] = {"curatore-$1#-cognome", "curatore-$1-cognome#", "curatore-$1#"},
	['ChapterEditorList-Link'] = {"wkcuratore-$1#"},
}

--[[ ===============================================================================
Valori di default dei parametri
	===============================================================================]]
citation_config.defaults = {
	['PostScript'] = '.',
	['PPrefix'] = "p.&nbsp;",
	['PPPrefix'] = "pp.&nbsp;",
	['Style'] = "itwiki"
}

--[[ ===============================================================================
Lista di ID per varie condizioni di errore definite nel codice.
Per ogni errore viene indicato:
- message: messaggio di errore da visualizzare
- anchor: ancora html all'interno della pagina di aiuto per gli errori (Modulo:Citazione/Aiuto)
- category: categoria in cui inserire la voce in cui compare l'errore
- hidden: se il messaggio deve essere nascosto di default
	===============================================================================]]
citation_config.error_conditions = {
	accessdate_missing_url = {
		message = '<code style="color:red;">accesso</code> richiede <code style="color:red;">url</code>',
		anchor = 'accessdate_missing_url',
		category = 'Errori del modulo citazione - pagine con data di accesso senza URL',
		hidden = true },
	archive_missing_date = {
		message = '<code style="color:red;">urlarchivio</code> richiede <code style="color:red;">dataarchivio</code>',
		anchor = 'archive_missing_date',
		category = 'Errori del modulo citazione - pagine con errori in urlarchivio',
		hidden = true },
	archive_missing_date2 = {
		message = '<code style="color:red;">urlarchivio2</code> richiede <code style="color:red;">dataarchivio2</code>',
		anchor = 'archive_missing_date',
		category = 'Errori del modulo citazione - pagine con errori in urlarchivio',
		hidden = true },
	archive_missing_url = {
		message = '<code style="color:red;">urlarchivio</code> richiede <code style="color:red;">url</code>',
		anchor = 'archive_missing_url',
		category = 'Errori del modulo citazione - pagine con errori in urlarchivio',
		hidden = true },
	date_mismatch = {
		message = 'Il valore del parametro <code style="color:red;">dataarchivio</code> non combacia con la data decodificata dall\'URL: $1',
		anchor = 'date_mismatch',
		category = 'Errori del modulo citazione - date non combacianti',
		hidden = true },
	date2_mismatch = {
		message = 'Il valore del parametro <code style="color:red;">dataarchivio2</code> non combacia con la data decodificata dall\'URL: $1',
		anchor = 'date_mismatch',
		category = 'Errori del modulo citazione - date non combacianti',
		hidden = true },
	bad_bnf = {
		message = '<code style="color:red;">BNF</code> non valido',
		anchor = 'bad_bnf',
		category = 'Errori del modulo citazione - codice BNF errato',
		hidden = false },
	bad_doi = {
		message = 'Controllare il valore del parametro <code style="color:red;">doi</code>',
		anchor = 'bad_doi',
		category = 'Errori del modulo citazione - codice DOI errato',
		hidden = true },
	bad_isbn = {
		message = '<code style="color:red;">ISBN</code> non valido',
		anchor = 'bad_isbn',
		category = 'Errori del modulo citazione - codice ISBN errato',
		hidden = false },
	bad_ol = {
		message = 'Controllare il valore del parametro <code style="color:red;">ol</code>',
		anchor = 'bad_ol',
		category = 'Errori del modulo citazione - codice OL errato',
		hidden = true },
	bad_sbn = {
		message = 'Controllare il valore del parametro <code style="color:red;">sbn</code>',
		anchor = 'bad_sbn',
		category = 'Errori del modulo citazione - codice sbn errato',
		hidden = false },
	bad_url = {
		message = 'Controllare il valore del parametro <code style="color:red;">url</code>',
		anchor = 'bad_url',
		category = 'Errori del modulo citazione - errori nel parametro URL',
		hidden = true },
	bare_url_missing_title = {
		message = 'Titolo mancante per url $1',
		anchor = 'bare_url_missing_title',
		category = 'Errori del modulo citazione - citazioni con URL nudi',
		hidden = true },
	citation_missing_title = {
		message = 'Parametro <code style="color:red;">titolo</code> vuoto o mancante',
		anchor = 'citation_missing_title',
		category = 'Errori del modulo citazione - citazioni senza titolo',
		hidden = true },
	cite_web_url = {
		message = 'Parametro <code style="color:red;">url</code> vuoto o mancante',
		anchor = 'cite_web_url',
		category = 'Errori del modulo citazione - template Cita web senza URL',
		hidden = true },
	empty_citation = {
		message = 'Citazione vuota',
		anchor = 'empty_citation',
		category = 'Errori del modulo citazione - citazioni vuote',
		hidden = true },
	extra_pages = {
		message = 'Parametro <code style="color:red;">pagine</code> o <code style="color:red;">posizione= di troppo</code>', --TODO manteniamo parametro at?
		anchor = 'extra_pages',
		category = 'Errori del modulo citazione - pagine con citazioni con indicazioni di pagina contrastanti',
		hidden = true },
	format_missing_url = {
		message = '<code style="color:red;">formato</code> richiede <code style="color:red;">url</code>',
		anchor = 'format_missing_url',
		category = 'Errori del modulo citazione - citazioni con formato ma senza URL',
		hidden = true },
	parameter_ignored = {
		message = 'Parametro sconosciuto <code style="color:red;">$1</code> ignorato',
		anchor = 'parameter_ignored',
		category = 'Errori del modulo citazione - citazioni che usano parametri non supportati',
		hidden = true },
	parameter_ignored_suggest = {
		message = 'Parametro sconosciuto <code style="color:red;">$1</code> ignorato (forse intendevi <code style="color:red;">$2</code>)',
		anchor = 'parameter_ignored_suggest',
		category = 'Errori del modulo citazione - citazioni che usano parametri non supportati',
		hidden = true },
	redundant_parameters = {
		message = 'Più di un parametro tra <code style="color:red;">$1</code> specificato',
		anchor = 'redundant_parameters',
		category = 'Errori del modulo citazione - citazioni con parametri ridondanti',
		hidden = true },
	text_ignored = {
		message = 'Testo "$1" ignorato',
		anchor = 'text_ignored',
		category = 'Errori del modulo citazione - citazioni che usano parametri ordinali sconosciuti',
		hidden = false },
	trans_missing_chapter = {
		message = '<code style="color:red;">capitolotradotto</code> richiede <code style="color:red;">capitolo</code>',
		anchor = 'trans_missing_chapter',
		category = 'Errori del modulo citazione - citazioni che usano termini tradotti senza originale',
		hidden = true },
	trans_missing_title = {
		message = '<code style="color:red;">titolotradotto</code> richiede <code style="color:red;">titolo</code>',
		anchor = 'trans_missing_title',
		category = 'Errori del modulo citazione - citazioni che usano termini tradotti senza originale',
		hidden = true },
	wikilink_in_url = {
		message = 'Wikilink compreso nell\'URL del titolo',
		anchor = 'wikilink_in_url',
		category = 'Errori del modulo citazione - citazioni che hanno wikilink compresi nell\'URL del titolo',
		hidden = false },
	unknown_language = {
		message = 'Lingua sconosciuta: $1',
		anchor = 'unknown_language',
		category = 'Errori del modulo citazione - citazioni che usano un codice lingua sconosciuto',
		hidden = false },
	unknown_format = {
		message = 'Formato sconosciuto: $1',
		anchor = 'unknown_format',
		category = 'Errori del modulo citazione - citazioni che usano un codice formato sconosciuto',
		hidden = false },
	need_minutes = {
		message = 'Il parametro <code style="color:red;">$1</code> richiede il parametro <code>minuto</code>',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	timepar_must_be_integer = {
		message = 'Il parametro <code style="color:red;">$1</code> deve essere un numero',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	minutes_wrong = {
		message = 'Il parametro <code style="color:red;">minuto</code> deve essere intero e non superare 60',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	seconds_wrong = {
		message = 'Il parametro <code style="color:red;">secondo</code> deve essere intero e non superare 60',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	hour_wrong = {
		message = 'Il parametro <code style="color:red;">ora</code> deve essere intero',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	time_parameter_conflict = {
		message = 'Più di un parametro tra <code style="color:red;">tempo</code>, <code style="color:red;">ora</code>, <code style="color:red;">minuto</code>, <code style="color:red;">secondo</code>, <code style="color:red;">p</code>, <code style="color:red;">pp</code> o <code style="color:red;">posizione</code>',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	time_not_valid = {
		message = 'Il valore del parametro <code style="color:red;">tempo</code> non è valido, deve essere del formato "h:mm:ss"',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	not_video_citation = {
		message = 'Usato un parametro temporale (<code style="color:red;">ora, minuto, secondo o tempo</code>) in una citazione non di un video o audio"',
		anchor = 'error_in_time_parameter',
		category = 'Errori del modulo citazione - errori nei parametri relativi al tempo',
		hidden = true },
	debug_txt = {
		message = "Debug: $1",
		anchor = "debug",
		category = 'Errori del modulo citazione - debug',
		hidden = true },
}

--[[ ===============================================================================
Configurazione parametri per codici bibliografici (isbn, bibcode, ec....)
- parameters: nomi accettati per il parametro
- link: voce di it.wiki dedicata al parametro
- label: etichetta da visualizzare per il parametro
- pattern: pattern del link in cui $1 viene rimpiazzato dall'id
- COinS: codice coins
- separator: separatore tra codice e link (di default un no breaking space)
- encode: se true o nil l'url viene codificato (en:Percent-encoding)
	===============================================================================]]
citation_config.id_handlers = {
	['DOI'] = {
		parameters = { 'doi', 'DOI' },
		link = 'Digital object identifier',
		label = 'DOI',
		pattern = '[http://dx.doi.org/$1 $1]',
		COinS = 'info:doi',
		separator = ':',
		encode = true,
	},
	['OL'] = {
		parameters = { 'ol', 'OL' },
		link = 'Open_Library#Open_Library',
		label = 'OL',
		COinS = 'info:olnum',
		separator = '&nbsp;',
		encode = true,
	},
	['ARXIV'] = {
		parameters = {'arXiv', 'arxiv', 'ARXIV'},
		link = 'arXiv',
		label = 'arXiv',
		pattern = '[http://arxiv.org/abs/$1 $1]',
		encode = false,
		COinS = 'info:arxiv',
		separator = ':',
	},
	['BIBCODE'] = {
		parameters = {'bibcode', 'BIBCODE'},
		link = 'Bibcode',
		label = 'Bibcode',
		pattern = '[http://adsabs.harvard.edu/abs/$1 $1]',
		encode = false,
		COinS = 'info:bibcode',
		separator = ':',
	},
	['BNF'] = {
		parameters = {'bnf', 'BNF'},
		link = 'Bibliothèque nationale de France',
		label = 'bnf',
		pattern = '[http://catalogue.bnf.fr/ark:/12148/cb$1 $1]',
		encode = false,
		COinS = 'info:bnf',
		separator = ':',

	},
	['ISBN'] = {
		parameters = {'isbn', 'Isbn', 'ISBN', 'isbn13', 'ISBN13'},
		link = 'ISBN',
		label = 'ISBN',
		pattern = '[[Special:BookSources/$1|$1]]',
		COinS = 'rft.isbn',
		separator = '&nbsp;',
	},
	['ISSN'] = {
		parameters = {'issn', 'ISSN'},
		link = 'ISSN',
		label = 'ISSN',
		pattern = '$1<span class="noprint plainlinks">&nbsp;(<span title="Ricerca su WorldCat">[http://worldcat.org/issn/$1&lang=it WC]</span>&nbsp;· <span title="Ricerca sul Catalogo Italiano dei Periodici">[https://acnpsearch.unibo.it/search?issn=$1 ACNP]</span>)</span>',
		COinS = 'rft.issn',
		encode = true,
		separator = '&nbsp;',
	},
	['JFM'] = {
		parameters = {'jfm', 'JFM'},
		link = 'Jahrbuch über die Fortschritte der Mathematik',
		label = 'JFM',
		pattern = '[http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:$1 $1]',
		COinS = 'rft.jfm',
		encode = true,
		separator = '&nbsp;',
	},
	['JSTOR'] = {
		parameters = {'jstor', 'JSTOR'},
		link = 'JSTOR',
		label = 'JSTOR',
		pattern = '[http://www.jstor.org/stable/$1 $1]',
		COinS = 'rft.jstor',
		encode = true,
		separator = '&nbsp;',
	},
	['LCCN'] = {
		parameters = {'LCCN', 'lccn'},
		link = 'Library of Congress Control Number',
		label = 'LCCN',
		pattern = '[http://lccn.loc.gov/$1 $1]',
		COinS = 'rft.lccn',
		encode = false,
		separator = '&nbsp;',
	},
	['MR'] = {
		parameters = {'MR', 'mr'},
		link = 'Mathematical Reviews',
		label = 'MR',
		pattern = '[http://www.ams.org/mathscinet-getitem?mr=$1 $1]',
		COinS = 'rft.mr',
		encode = true,
		separator = '&nbsp;',
	},
	['OCLC'] = {
		parameters = {'OCLC', 'oclc'},
		link = 'Online Computer Library Center',
		label = 'OCLC',
		pattern = '[//www.worldcat.org/oclc/$1 $1]',
		COinS = 'info:oclcnum',
		encode = true,
		separator = '&nbsp;',
	},
	['OSTI'] = {
		parameters = {'OSTI', 'osti'},
		link = 'Office of Scientific and Technical Information',
		label = 'OSTI',
		pattern = '[http://www.osti.gov/energycitations/product.biblio.jsp?osti_id=$1 $1]',
		COinS = 'info:osti',
		encode = true,
		separator = '&nbsp;',
	},
	['PMC'] = {
		parameters = {'PMC', 'pmc'},
		link = 'PubMed',
		label = 'PMC',
		pattern = '[//www.ncbi.nlm.nih.gov/pmc/articles/PMC$1 $1]',
		COinS = 'info:pmc',
		encode = true,
		separator = '&nbsp;',
	},
	['PMID'] = {
		parameters = {'PMID', 'pmid'},
		link = 'PMID',
		label = 'PMID',
		pattern = '[//www.ncbi.nlm.nih.gov/pubmed/$1 $1]',
		COinS = 'info:pmid',
		encode = false,
		separator = '&nbsp;',
	},
	['RFC'] = {
		parameters = {'RFC', 'rfc'},
		link = 'Request for Comments',
		label = 'RFC',
		pattern = '[//tools.ietf.org/html/rfc$1 $1]',
		COinS = 'info:rfc',
		encode = false,
		separator = '&nbsp;',
	},
	['SBN'] = {
		parameters = {'SBN', 'sbn'},
		link = 'Servizio bibliotecario nazionale',
		label = 'SBN',
		COinS = 'info:sbn',
		encode = false,
		separator = '&nbsp;',
	},
	['SSRN'] = {
		parameters = {'SSRN', 'ssrn'},
		link = 'Social Science Research Network',
		label = 'SSRN',
		pattern = '[http://ssrn.com/abstract=$1 $1]',
		COinS = 'info:ssrn',
		encode = true,
		separator = '&nbsp;',
	},
	['ZBL'] = {
		parameters = {'ZBL', 'zbl'},
		link = 'Zentralblatt MATH',
		label = 'Zbl',
		pattern = '[http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:$1 $1]',
		COinS = 'info:zbl',
		encode = true,
		separator = '&nbsp;',
	}
}

--[[ ===============================================================================
-- Configurazion per lo stile della citazione
-- TODO: ripulire parametri di configurazone non usati nella versione in uso
	===============================================================================]]
citation_config.style = {
	sep = ",",         -- separatore tra elementi della bibliografia
	peoplesep = ", ",   -- separatore tra autori/curatori/ecc in una lista di persone
	format = "",       -- opzioni di formato lista di persone
	maximum_editors = 3,   -- numero massimo di curatori
	lastsepauthor = ' e ',   -- separatore tra penultimo e ultimo nome
	invertorder = false,  -- se falso usare "nome cognome"
	etal = false,
	pprefix = "p.&nbsp;",
	ppprefix = "pp.&nbsp;",
	postscript = ".",  -- punto finale
	separator_priority = {
		[""] = { order=0, sep = ""},
		[" "] = { order=1, sep = " "},
		[","] = { order=2, sep = ", "},
		["."] = { order=3, sep = ". "},
		["in"] = {order=4, sep = ", in "},
		["su"] = {order=4, sep = ", su "}, -- su è usato in alternativa a "in" per siti web
		[":"] = {order=5, sep = ": "},
		["  "] = { order=6, sep = " "},
		[".."] = { order=7, sep = "."},
		["nothing"] = {order=8, sep="" }
	}
}

--[[ ===============================================================================
-- Configurazione template di citazione che accettano parametri ordinali ogni chiave è il nome
-- un tipo di citazione e la lista di assegnazione dei parametro ordinali a quelli nominali
	===============================================================================]]
citation_config.unnamed_parameter = {
	['libro'] = {  'nome', 'cognome', 'titolo', 'anno', 'editore', 'città'},
	['web'] = {'url', 'titolo', 'accesso'},
	['news'] = {'autore', 'url', 'titolo', 'pubblicazione', 'data', 'accesso', 'lingua', 'formato'},
	['conferenza'] = { 'autore', 'coautori', 'titolo', ' conferenza', 'editore', 'anno',
						   'città', 'url', 'accesso', 'id' },
}

--[[ ===============================================================================
-- localizzazione nomi dei mesi
	===============================================================================]]
citation_config.months = {
	'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno',
	'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre',
	}

--[[ ===============================================================================
-- Valori accettati dal parametro formato:
-- -- link: voce di it.wiki dedicata al formato
-- -- label: etichetta da visualizzare
	===============================================================================]]
citation_config.external_link_type = {
	['csv'] = {link = 'Comma-separated values', label='CSV' , text='file di testo con valori separati da virgole'},
	['djvu'] = {link = 'DjVu', label='DjVu' , text='documento in formato DjVu'},
	['doc'] = { link = '.doc', label='DOC' , text='documento Word 97-2003'},
	['docx'] = { link = '.docx', label='DOCX' , text='documento Word 2007-'},
	['epub'] = {link = 'ePub', label='ePub' , text='documento in formato ePub'},
	['f4a'] = {link = 'Flash Video', label='F4A' , text='audio in formato Flash per Adobe Flash Player'},
	['f4b'] = {link = 'Flash Video', label='F4B' , text='audiolibro in formato Flash per Adobe Flash Player'},
	['f4p'] = {link = 'Flash Video', label='F4P' , text='video in formato Flash protetto per Adobe Flash Player'},
	['f4v'] = {link = 'Flash Video', label='F4V' , text='video in formato Flash per Adobe Flash Player'},
	['flv'] = {link= 'Flash Video', label='FLV' , text='video in formato Flash'},
	['gif'] = {link = 'Graphics Interchange Format', label="GIF" , text='immagine in formato GIF'},
	['gzip'] = { link = 'Gzip', label = 'GZIP' , text='archivio compresso in formato Gzip'},
	['javascript'] = {link = 'JavaScript', label='JavaScript' , text='codice sorgente JavaScript'},
	['jpg'] = { link = 'JPEG', label='JPG' , text='immagine in formato JPG'},
	['mp3'] = { link = 'MP3', label="MP3" , text='audio in formato MP3'},
	['odt'] = { link = 'OpenDocument', label='Odt'  , text='documento in formato OpenDocument'},
	['pdf'] = { link = 'Portable Document Format', label='PDF' , text='documento in formato PDF'},
	['png'] = { link = 'Portable Network Graphics', label='PNG'  , text='immagine in formato PNG'},
	['pps'] = { link = '.pps', label='PPS' , text='presentazione PowerPoint 97-2003 (solo visualizzazione)'},
	['ppsx'] = {link = '.ppsx', label='PPSX' , text='presentazione PowerPoint 2007- (solo visualizzazione)'},
	['ppt'] = { link = '.ppt', label='PPT' , text='presentazione PowerPoint 97-2003'},
	['pptx'] = {link = '.pptx', label='PPTX' , text='presentazione PowerPoint 2007-'},
	['ps'] = {link = 'PostScript', label="ps" , text='documento in formato PostScript'},
	['ram'] = {link = 'RealAudio', label="ram" , text='audio in formato RealAudio'},
	['rar'] = { link = 'RAR (formato di file)', label = 'RAR' , text='archivio compresso in formato RAR'},
	['realmedia'] = {link = 'RealMedia', label="RealMedia" , text='audiovideo in formato RealMedia'},
	['realvideo'] = {link = 'RealVideo', label="RealVideo" , text='video in formato RealMedia'},
	['rm'] = {link = 'RealMedia', label="RealMedia" , text='audiovideo in formato RealMedia'},
	['rtf'] = { link = 'Rich Text Format', label='RTF' , text='documento in formato RTF'},
	['swf'] = { link = 'Shockwave Flash', label='SWF' , text='animazione o applicazione in formato Flash'},
	['tiff'] = {link = 'Tagged Image File Format', label='TIFF' , text='immagine in formato TIFF'},
	['txt'] = { link = 'file di testo', label="TXT" , text='documento di puro testo'},
	['wav'] = {link = 'WAV', label='WAV' , text='audio in formato WAV'},
	['wmv'] = {link = 'Windows Media Video', label='WMV' , text='video in formato WMV'},
	['xls'] = { link = 'Microsoft Excel', label="XLS" , text='cartella di lavoro Excel 97-2003'},
	['xlsx'] = { link = '.xlsx', label="XLSX" , text='cartella di lavoro Excel 2007-'},
	['xml'] = {link = 'XML', label='XML', text='file di testo in formato XML'},
	['zip'] = { link = 'ZIP (formato di file)', label = 'ZIP' , text='archivio compresso in formato ZIP'}
}

--[[ ===============================================================================
Configurazione valori inseriti da InternetArchiveBot
	===============================================================================]]
citation_config.keywords = {
	['dead'] = {'sì'},
	['live'] = {'no'},
}

return citation_config;