Module:Ċitazzjoni/CS1/Suggestions

Documentation for this module may be created at Module:Ċitazzjoni/CS1/Suggestions/doc

-- Please insert new suggestions in alphabetical order
-- The form is ['incorrect'] = 'correct',

suggestions = {
	['abruf'] = 'data-aċċess',													-- German
	['abruf-verborgen'] = 'data-aċċess',										-- German
	['accessmonth'] = 'data-aċċess',
	['aċċess'] = 'data-aċċess',
	['accesso'] = 'data-aċċess',												-- Italian
	['accessyear'] = 'data-aċċess',
	['address'] = 'post',
	['année'] = 'data',															-- French
	['año'] = 'data', -- Spanish
	['añooriginal'] = 'data-oriġinali', -- Spanish
	['año-original'] = 'data-oriġinali', -- Spanish
	['añoacceso'] = 'data-aċċess',												-- Spanish
	['anno'] = 'data', -- Italian
	['annoaccesso'] = 'data-aċċess',											-- Italian
	['annodiaccesso'] = 'data-aċċess',											-- Italian
	['annooriginale'] = 'data-oriġinali', -- Italian
	['apellido'] = 'kunjom',														-- Spanish
	['apellidos'] = 'kunjom',														-- Spanish
	['archiv-datum'] = 'arkivju-data',											-- German
	['archive data'] = 'arkivju-data',
	['archiv-url'] = 'arkivju-url',												-- German
	['archive url'] = 'arkivju-url',											-- Spanish
	['artikelnr'] = 'id',														-- German (as 'id=Article No. ...')
	['artist'] = 'oħrajn',
	['auflage'] = 'edition',													-- German
	['auteur'] = 'awtur',														-- French
	['auther'] = 'awtur',
	['awturfirst'] = 'awtur-isem', -- old parameter name
	['awturgiven'] = 'awtur-isem', -- old parameter name
	['awturlast'] = 'awtur-kunjom', -- old parameter name
	['awtur link'] = 'awtur-ħolqa',											-- Polish
	['awtursurname'] = 'awtur-kunjom', -- old parameter name
	['autor'] = 'awtur',														-- Spanish, German (singular and plural)
	['autore'] = 'awtur',														-- Italian
	['autthor'] = 'awtur',
	['band'] = 'volum',														-- German
	['bandreihe'] = 'volum',													-- German
	['ch'] = 'lingwa',														-- German (as 'lingwa=de-CH')
	['chapter_title'] = 'chapter',
	['cid'] = 'ref', -- Italian
	['cita'] = 'kwotazzjoni',															-- Spanish
	['citazione'] = 'kwotazzjoni',													-- Italian
	['città'] = 'post', -- Italian
	['coawtur'] = 'awtur',
	['coawturs'] = 'awtur',
	['coautores'] = 'awtur',													-- Spanish
	['coautori'] = 'awtur',													-- Italian
	['cognome'] = 'kunjom',														-- Italian
	['consulté le'] = 'data-aċċess',											-- French
	['curatore'] = 'pubblikatur', -- Italian
	['czasopismo'] = 'ġurnal',													-- Polish
	['dataaccesso'] = 'data-aċċess', -- Italian
	['dataarchivio'] = 'arkivju-data',											-- Italian
	['data dostępu'] = 'data-aċċess',											-- Polish
	['datum'] = 'data',															-- German
	['deadlink'] = 'url-status',
	['deadurl'] = 'url-status', -- old parameter name
	['dead-url'] = 'url-status', -- old parameter name
	['distributor'] = 'pubblikatur',
	['displayeditors'] = 'wirja-edituri', -- old parameter name
	['dnb'] = 'id',																-- German (as 'id={{DNB-IDN|...}}')
	['doibroken'] = 'doi-data-invalida', -- invalid name found in mainspace
	['doi-broken'] = 'doi-data-invalida', -- former parameter alias
	['doi_brokendata'] = 'doi-data-invalida',
	['doiinactive'] = 'doi-data-invalida', -- invalid name found in mainspace
	['doi-inactive'] = 'doi-data-invalida', -- invalid name found in mainspace
	['doi-inactive-data'] = 'doi-data-invalida', -- former parameter alias
	['doi_inactivedata'] = 'doi-inactive-data',
	--['ed'] = 'edition', avoid suggestion as in English this could be short for editor or edition
	['éditeur'] = 'editur',														-- French
	['edizjoni'] = 'edizzjoni', -- misspelling
	['editon'] = 'edizzjoni', -- misspelling
	['editoin'] = 'edizzjoni', -- misspelling
	-- ['editora'] = 'publisher', -- can be either editor or publisher
	-- ['editore'] = 'agency', -- can be either publisher or agency
	-- ['editori'] = 'editor', -- can be either editor or publisher
	-- ['editorial'] = 'publisher', -- can be either publisher or work
	['editorfirst'] = 'editur-isem', -- old parameter name
	['editorgiven'] = 'editur-isem', -- old parameter name
	['editorlast'] = 'editur-kunjom', -- old parameter name
	['editormask'] = 'editur-mask', -- old parameter name
	['editorsurname'] = 'editur-kunjom', -- old parameter name
	['edizione'] = 'edizzjoni', -- Italian
	['en ligne le'] = 'arkivju-data',											-- French
	['encyclopædia'] = 'enċiklopedija',
	['enlaceautor'] = 'awtur-ħolqa',											-- Spanish
	['enlaceroto'] = 'url-status', -- Spanish
	['embargo'] = 'pmc-data-embargo', -- former parameter name
	['e-print'] = 'eprint', -- misspelling
	['family'] = 'kunjom', -- misguess
	['fecha'] = 'data',															-- Spanish
	['fechaacceso'] = 'data-aċċess',											-- Spanish
	['fechaarchivo'] = 'arkivju-data',											-- Spanish
	['filetype'] = 'format',
	['foramt'] = 'format', -- misspelling
	['formato'] = 'format',														-- Spanish, Italian, Polish
	['forename'] = 'isem', -- misguess
	['fore-name'] = 'isem', -- misguess/misspelling
	['frist'] = 'isem', -- misspelling
	['fundstelle'] = 'at',														-- German
	['gazetta'] = 'gazzetta', -- misspelling
	['gazeta'] = 'gazzetta', -- misspelling
	['gazzeta'] = 'gazzetta', -- misspelling
	['giornale'] = 'ġurnal', -- Italian
	['herausgeber'] = 'editur',													-- German (singular and plural)
	['hrsg'] = 'pubblikatur',														-- German
	['hrsgreihe'] = 'editur',													-- German
	['idioma'] = 'lingwa',													-- Spanish
	['ignoreisbnerror'] = 'isbn', -- former parameter alias (suggest |isbn as |injora-żball-isbn is deprecated), not a direct replacement, but can be fully emulated using ((syntax))
	['imię'] = 'first',															-- Polish
	['in-set'] = 'inset', -- misspelling
	['interviewerlink'] = 'intervistatur-ħolqa', -- former parameter alias
	['interviewermask'] = 'intervistatur-mask', -- former parameter alias
	['isbndefekt'] = 'injora-żball-isbn',										-- German
	['isbnformalfalsch'] = 'injora-żball-isbn',									-- German
	['isbnistformalfalsch'] = 'injora-żball-isbn',								-- German
	['isnb'] = 'isbn', -- misspelling
	['issnformalfalsch'] = 'ignore-issn-error',									-- German
	['jahr'] = 'data',															-- German
	['jahrea'] = 'data-oriġinali',													-- German (not a direct replacement, but can be emulated)
	['kapitel'] = 'kapitlu',													-- German
	['kaptilu'] = 'kapitlu',													
	['kujnom'] = 'kunjom',
	['kuljom'] = 'kunjom',
	['kowtazzjoni'] = 'kwotazzjoni',	-- misspelling
	['kowtazjoni'] = 'kwotazzjoni',	-- misspelling
	['kwotazjoni'] = 'kwotazzjoni',	-- misspelling
	['langauge'] = 'lingwa', -- misspelling
	['langue'] = 'lingwa',													-- French
	['laysummary'] = 'url-lajk', -- old parameter
	['lay-summary'] = 'url-lajk', -- old parameter
	['lieu'] = 'post',														-- French
	['lingua'] = 'lingwa',													-- Italian
	['lire en ligne'] = 'url',													-- French
	['loaction'] = 'post', -- misspelling
	['locatoin'] = 'post', -- misspelling
	['lugar'] = 'post',														-- Spanish
	['mes'] = 'data', -- Spanish (not a direct replacement)
	['mese'] = 'data', -- Italian (not a direct replacement)
	['miejsce'] = 'post',													-- Polish
	['miesiąc'] = 'data',														-- Polish
	['mois'] = 'data',															-- French
	['monat'] = 'data',															-- German
--	['name'] = 'awtur',														-- 'name' is often erroneously used for 'title' and 'work' as well, so no suggestion is better than a wrong suggestion
	['nazwisko'] = 'kunjom',														-- Polish
	['nespaper'] = 'gazzetta', -- misspelling
	['net-work'] = 'netwerk', -- misspelling
	['newpaper'] = 'gazzetta', -- misspelling
	['news'] = 'gazzetta',
	['news-group'] = 'newsgroup', -- misspelling
	['news-paper'] = 'gazzetta', -- misspelling
	['no-cat'] = 'no-tracking', -- old parameter
	['nom'] = 'kunjom',															-- French
	['nombre'] = 'isem',														-- Spanish
	['nome'] = 'isem',															-- Italian
	['numero'] = 'numru', -- Italian, Spanish
	['nummer'] = 'numru',														-- German
	['nummerreihe'] = 'numru',													-- German
	['notracking'] = 'no-tracking', -- old parameter
	['obra'] = 'xogħol',															-- Spanish
	['odpowiedzialność'] = 'aġenzija',											-- Polish
	['offline'] = 'url-status',													-- German (as 'url-status=dead')
	['online'] = 'url',															-- German (not a direct replacement, but can be emulated)
	['opera'] = 'xogħol',															-- Italian
	['opublikowany'] = 'aġenzija',												-- Polish
	['origdata'] = 'data-oriġinali', -- misspelling
	['orig_data'] = 'data-oriġinali',
	['originaljahr'] = 'data-oriġinali',												-- German
	['originalort'] = 'post-pubblikazzjoni',										-- German
	['originalsprache'] = 'lingwa',											-- German
	['originaltitel'] = 'title',												-- German (if 'originaltitel' is specified, any possible contents of 'title' should be put in 'titlu-traduzzjoni')
	['orig_year'] = 'sena-oriġinali',
	['ort'] = 'post-pubblikazzjoni',												-- German
	['ortea'] = 'post-pubblikazzjoni',											-- German (not a direct replacement, but can be emulated)
	['other'] = 'oħrajn',
	['oznaczenie'] = 'aġenzija',													-- Polish
	['pagees'] = 'paġni', -- misspelling
	['pagina'] = 'paġna', -- Italian
	['página'] = 'paġna',														-- Spanish
	['páginas'] = 'paġni',														-- Spanish
	['pagine'] = 'paġni', -- Italian
	['passage'] = 'paġni',														-- French
	['pagina'] = 'paġni',														-- Italian
	['pagine'] = 'paġni',														-- Italian
	['periodico'] = 'magażin', -- Spanish
	['périodique'] = 'pubblikatur',												-- French
	['plublisher'] = 'pubblikatur', -- misspelling
	['pmcid'] = 'pmc',
	['post-script'] = 'postscript', -- misspelling
	['praca'] = 'xogħol',															-- Polish
	['prénom'] = 'isem',														-- French
	['prénom1'] = 'isem1',														-- French
	['primero'] = 'isem', -- Spanish
	['ps'] = 'postscript',
	['pub'] = 'pubblikatur',
	['publikatur'] = 'pubblikatur',
	['publikkatur'] = 'pubblikatur',
	-- ['pubblicazione'] = 'magazine', -- could be any kind of work
	-- ['publicación'] = 'journal', -- could be any kind of work
	['pulbication-place'] = 'post-pubblikazzjoni', -- misspelling
	['reihe'] = 'serje',														-- German
	['retrieved'] = 'data-aċċess',
	['richiestasottoscrizione'] = 'url-access', -- Italian (as |url-access=subscription)
	['rok'] = 'data',															-- Polish
	['sammelwerk'] = 'xogħol',													-- German
	['script-post'] = 'postscript', -- misspelling
	['script-trans'] = 'traskrizzjoni', -- misspelling
	['seria'] = 'serje',														-- Spanish, Polish
	['serie'] = 'serje', -- Italian
	['série'] = 'serje',														-- French
	['service'] = 'aġenzija',
	['site'] = 'sit',
	['sitioweb'] = 'sit',													-- Spanish
	['sito'] = 'sit',														-- Italian
	['stron'] = 'paġna',															-- Polish
	['strony'] = 'paġni',														-- Polish
	['spalten'] = 'at',															-- German (not a direct replacement, but can be emulated)
	['sprache'] = 'lingwa',													-- German
	['sur-name'] = 'kunjom', -- misspelling
	['suscripción'] = 'url-aċċess',												-- Spanish, Polish (as |url-access=subscription)
	['tag'] = 'data',															-- German
	['template doc demo'] = 'no-tracking', -- old parameter
	['tile'] = 'titlu', -- misspelling
	['tipo'] = 'tip', -- Italian
	['tite'] = 'titlu', -- misspelling
	['titel'] = 'titlu',														-- German
	['titel-p'] = 'titlu',														-- German ('postscript=none' should be added as well)
	['titelerg'] = 'contribution',												-- German (not a direct replacement, but can be emulated)
	['titolo'] = 'titlu',														-- Italian
	['titre'] = 'titlu',														-- French
	['títle'] = 'titlu',
	['título'] = 'titlu',														-- Spanish
	['titul'] = 'titlu',	-- misspelling
	['transchapter'] = 'kapitlu-traduzzjoni',
	['trans_chapter'] = 'kapitlu-traduzzjoni',
	['transkrizjoni'] = 'traskrizzjoni', -- misspelling
	['transkrizzjoni'] = 'traskrizzjoni', -- misspelling
	['transscript'] = 'traskrizzjoni', -- misspelling
	['trans-script'] = 'traskrizzjoni', -- misspelling
	['transscript-format'] = 'traskrizzjoni-format', -- misspelling
	['transscripturl'] = 'traskrizzjoni-url', -- misspelling
	['transscript-url'] = 'traskrizzjoni-url', -- misspelling
	['trans_title'] = 'titlu-traduzzjoni',
	['transtitle'] = 'titlu-traduzzjoni',
	['traskrizjoni'] = 'traskrizzjoni', -- misspelling
	['typ'] = 'awtur-mask',													-- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'awtur-mask')
	['tytuł'] = 'titlu',														-- Polish
	['ubicación'] = 'post',													-- Spanish
	['urlarchivo'] = 'arkivju-url',												-- Spanish
	['urlarchivio'] = 'arkivju-url',											-- Italian
	['urlmorto'] = 'url-status', -- Italian
	['urn'] = 'id',																-- German (as 'id={{URN|...}}')
	['übersetzer'] = 'traduttur',												-- German (singular and plural)
	['v-awturs'] = 'vawturi', -- misspelling
	['v-awturi'] = 'vawturi', -- misspelling
	['v-editors'] = 'vedituri', -- misspelling
	['v-edituri'] = 'vedituri', -- misspelling
	['verlag'] = 'pubblikatur',													-- German
	['verlagea'] = 'pubblikatur',													-- German (not a direct replacement, but can be emulated)
	['vol'] = 'volum',
	['volumn'] = 'volum',														-- Spanish
	['werk'] = 'xogħol',															-- German
	['werkerg'] = 'kontribuzzjoni',												-- German (not a direct replacement, but can be emulated)
	['wkautore'] = 'awtur-ħolqa',												-- Italian
	['wolumin'] = 'volum',														-- Polish
	['wydanie'] = 'numru',														-- Polish
	['wydawca'] = 'pubblikatur',													-- French
	['zaprezentowany'] = 'pubblikatur',											-- French
	['zdb'] = 'id',																-- German (as 'id={{ZDB|...}}')
	['zitat'] = 'kwotazzjoni',														-- German
	['zugriff'] = 'data-aċċess',												-- German
}



--[[--------------------------< P A T T E R N S >--------------------------------------------------------------

Here we use Lua patterns to make suggestions.  The form is

	['pattern'] = 'correct',

Lua patterns are not REGEX though they are similar.  The escape character is '%', not '\'.
For more information about Lua patterns, see: Extension:Scribunto/Lua_reference_manual#Patterns

Patterns should probably always include the '^' and '$' anchor assertions to prevent a partial
match from incorrectly suggesting the wrong parameter name.  For instance, the pattern 'a[utho]+r'
matches 'author' in the no-longer-supported parameter |author-separator= so the code suggests
'|author='; the same pattern also matches the no-longer-supported parameter |separator= (returning 'ator')
so again, the code suggests '|author='.

One capture is supported, typically the enumerator from an enumerated parameter (the '6' in |awtur6=, etc.)
The value from the capture replaces $1 in the 'correct' value.

]]

local patterns = {
	['^ac+es+ ?d?a?t?e?$'] = 'data-aċċess', -- misspelling
	['^apellido[s]?(%d+)$'] = 'kunjom$1', -- Spanish, enumerated
	['^a[utho]+r$'] = 'awtur', -- misspelling
	['^a[utho]+r(%d+)$'] = 'awtur$1', -- misspelling, enumerated
	['^author link(%d+)$'] = 'awtur-ħolqa$1', -- Polish, enumerated
	['^autor[e]?(%d+)$'] = 'awtur$1', -- Italian/Spanish/German, enumerated
	['^authorfirst(%d+)$'] = 'awtur-isem$1', -- old parameter name, enumerated
	['^author(%d+)first$'] = 'awtur-isem$1', -- old parameter name, enumerated
	['^authorgiven(%d+)$'] = 'awtur-isem$1', -- old parameter name, enumerated
	['^author(%d+)given$'] = 'awtur-isem$1', -- old parameter name, enumerated
	['^authorlast(%d+)$'] = 'awtur-kunjom$1', -- old parameter name, enumerated
	['^author(%d+)last$'] = 'awtur-kunjom$1', -- old parameter name, enumerated
	['^authorsurname(%d+)$'] = 'awtur-kunjom$1', -- old parameter name, enumerated
	['^author(%d+)surname$'] = 'awtur-kunjom$1', -- old parameter name, enumerated
	['^cognome(%d+)$'] = 'kunjom$1', -- Italian, enumerated
	['^editorfirst(%d+)$'] = 'editur-isem$1', -- old parameter name, enumerated
	['^editor(%d+)first$'] = 'editur-isem$1', -- old parameter name, enumerated
	['^editorgiven(%d+)$'] = 'editur-isem$1', -- old parameter name, enumerated
	['^editor(%d+)given$'] = 'editur-isem$1', -- old parameter name, enumerated
	['^editorlast(%d+)$'] = 'editur-kunjom$1', -- old parameter name, enumerated
	['^editor(%d+)last$'] = 'editur-kunjom$1', -- old parameter name, enumerated
	['^editormask(%d+)$'] = 'editur-mask$1', -- old parameter name, enumerated
	['^editor(%d+)mask$'] = 'editur-mask$1', -- old parameter name, enumerated
	['^editorsurname(%d+)$'] = 'editur-kunjom$1', -- old parameter name, enumerated
	['^editor(%d+)surname$'] = 'editur-kunjom$1', -- old parameter name, enumerated
 	['^enlaceautore(%d+)$'] = 'awtur-ħolqa$1', -- Spanish, enumerated
	['^first (%d+)$'] = 'isem$1', -- enumerated
	['^last (%d+)$'] = 'kunjom$1', -- enumerated
	['^nom[e]?(%d+)$'] = 'kunjom$1', -- Italian/French, enumerated
	['^nombre(%d+)$'] = 'isem$1', -- Spanish, enumerated
	['^primero(%d+)$'] = 'isem$1', -- Spanish, enumerated
	['^pu[blish]+ers?$'] = 'pubblikatur', -- misspelling
 	['^wkautore(%d+)$'] = 'awtur-ħolqa$1', -- Italian, enumerated
	}

return {suggestions = suggestions, patterns=patterns};