Module:Citation/CS1/Suggestions/sandbox

From Zoophilia Wiki
Revision as of 22:48, 21 August 2024 by SockyPaws (talk | contribs) (Create module sandbox matching submodule contents)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Documentation for this module may be created at Module:Citation/CS1/Suggestions/sandbox/doc

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

suggestions = {
	['ASIN-TLD'] = 'asin-tld',                      -- old parameter name
	['abruf'] = 'access-date',                      -- German
	['abruf-verborgen'] = 'access-date',            -- German
	['accessmonth'] = 'access-date',
	['accesso'] = 'access-date',                    -- Italian
	['accessyear'] = 'access-date',
	['acessodata'] = 'access-date',                 -- Brazilian Portuguese
	['ad'] = 'first',                               -- Turkish
	['address'] = 'location',
	['anno'] = 'date',                              -- Italian
	['annoaccesso'] = 'access-date',                -- Italian
	['annodiaccesso'] = 'access-date',              -- Italian
	['annooriginale'] = 'orig-date',                -- Italian
	['année'] = 'date',                             -- French
	['apellido'] = 'last',                          -- Spanish
	['apellidos'] = 'last',                         -- Spanish
	['archiv-datum'] = 'archive-date',              -- German
	['archiv-url'] = 'archive-url',                 -- German
	['archive date'] = 'archive-date',              -- misspelling
	['archive url'] = 'archive-url',                -- misspelling
	['archive-link'] = 'archive-url',               -- old parameter name
    ['archiv-url'] = 'archive-url',                 -- German	
    ['arkivdatum'] = 'archive-date',                -- Swedish, Norwegian
    ['arkivurl'] = 'archive-url',                   -- Swedish, Norwegian
    ['artist'] = 'others',
	['arşiv-tarihi'] = 'archive-date',              -- Turkish
	['arşiv-url'] = 'archive-url',                  -- Turkish
	['arşivtarihi'] = 'archive-date',               -- Turkish
	['arşivurl'] = 'archive-url',                   -- Turkish
	['auflage'] = 'edition',                        -- German
	['auteur'] = 'author',                          -- French
	['auther'] = 'author',                          -- misspelling
	['author link'] = 'author-link',                -- Polish
	['authorfirst'] = 'author-first',               -- old parameter name
	['authorgiven'] = 'author-given',               -- old parameter name
	['authorlast'] = 'author-last',                 -- old parameter name
	['authormask'] = 'author-mask',                 -- old parameter name
	['authorsurname'] = 'author-surname',           -- old parameter name
	['autor'] = 'author',                           -- Spanish, German (singular and plural)
	['autore'] = 'author',                          -- Italian
	['autthor'] = 'author',                         -- misspelling
	['ay'] = 'month',                               -- Turkish
	['año'] = 'date',                               -- Spanish
	['año-original'] = 'orig-date',                 -- Spanish
	['añoacceso'] = 'access-date',                  -- Spanish
	['añooriginal'] = 'orig-date',                  -- Spanish
	['band'] = 'volume',                            -- German
	['bandreihe'] = 'volume',                       -- German
	['baskı'] = 'edition',                          -- Turkish
	['başlık'] = 'title',                           -- Turkish
	['began'] = 'date',                             -- old parameter name (cite serial only); or orig-date=
	['booktitle'] = 'book-title',                   -- old parameter name
	['ch'] = 'language',                            -- German (as 'language=de-CH')
	['chapter_title'] = 'chapter',
	['chapterurl'] = 'chapter-url',                 -- old parameter name
	['cid'] = 'ref',                                -- Italian
	['cilt'] = 'volume',                            -- Turkish
	['cita'] = 'quote',                             -- Spanish
	['citazione'] = 'quote',                        -- Italian
	['città'] = 'location',                         -- Italian
	['city'] = 'location',                          -- old parameter name (cite serial only)
	['coauthor'] = 'author',
	['coauthors'] = 'author',
	['coautores'] = 'author',                       -- Spanish
	['coautori'] = 'author',                        -- Italian
	['cognome'] = 'last',                           -- Italian
	['conferenceurl'] = 'conference-url',           -- old parameter name
	['consulté le'] = 'access-date',                -- French
	['contributionurl'] = 'contribution-url',       -- old parameter name
	['curatore'] = 'publisher',                     -- Italian
	['czasopismo'] = 'journal',                     -- Polish
	['data dostępu'] = 'access-date',               -- Polish
	['data'] = 'date',                              -- Polish, Italian
	['dataaccesso'] = 'access-date',                -- Italian
	['dataarchivio'] = 'archive-date',              -- Italian
	['datum'] = 'date',                             -- German, Swedish
	['dead-url'] = 'url-status',                    -- old parameter name
	['deadlink'] = 'url-status',                    -- old parameter name
	['deadurl'] = 'url-status',                     -- old parameter name
	['dergi'] = 'work',                             -- Turkish
	['dil'] = 'language',                           -- Turkish
	['displayauthors'] = 'display-authors',         -- old parameter name
	['displayeditors'] = 'display-editors',         -- old parameter name
	['distributor'] = 'publisher',
	['dnb'] = 'id',                                 -- German (as 'id={{DNB-IDN|...}}')
	['doi-broken'] = 'doi-broken-date',             -- old parameter alias
	['doi-inactive'] = 'doi-broken-date',           -- invalid name found in mainspace
	['doi-inactive-date'] = 'doi-broken-date',      -- old parameter alias
	['doi_brokendate'] = 'doi-broken-date',         -- old parameter alias
	['doi_inactivedate'] = 'doi-inactive-date',     -- old parameter alias
	['doibroken'] = 'doi-broken-date',              -- invalid name found in mainspace
	['doiinactive'] = 'doi-broken-date',            -- invalid name found in mainspace
	['e-print'] = 'eprint',                         -- misspelling
	-- ['ed'] = 'edition',                          -- avoid suggestion as in English this could be short for editor or edition
	-- ['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
	['editoin'] = 'edition',                        -- misspelling
	['editon'] = 'edition',                         -- misspelling
	['editorfirst'] = 'editor-first',               -- old parameter name
	['editorgiven'] = 'editor-given',               -- old parameter name
	['editorlast'] = 'editor-last',                 -- old parameter name
	['editorlink'] = 'editor-link',                 -- old parameter name
	['editormask'] = 'editor-mask',                 -- old parameter name
	['editors'] = 'editor',                         -- old parameter name (can be emulated using multiple singular |editor= params)
	['editorsurname'] = 'editor-surname',           -- old parameter name
	['edizione'] = 'edition',                       -- Italian
	['embargo'] = 'pmc-embargo-date',               -- old parameter name
	['ended'] = 'date',                             -- old parameter name (cite serial only)
	['en ligne le'] = 'archive-date',               -- French
	['encyclopædia'] = 'encyclopedia',
	['enlaceautor'] = 'author-link',                -- Spanish
	['enlaceroto'] = 'url-status',                  -- Spanish
	['episodelink'] = 'episode-link',               -- old parameter name
	['erişimtarihi'] = 'access-date',               -- Turkish
	['eser'] = 'work',                              -- Turkish
	['family'] = 'surname',                         -- misguess
	['fecha'] = 'date',                             -- Spanish
	['fechaacceso'] = 'access-date',                -- Spanish
	['fechaarchivo'] = 'archive-date',              -- Spanish
	['filetype'] = 'format',
	['foramt'] = 'format',                          -- misspelling
	['fore-name'] = 'given',                        -- misguess/misspelling
	['forename'] = 'given',                         -- misguess
	['författare'] = 'author',                      -- Swedish, Norwegian
    ['formato'] = 'format',                         -- Spanish, Italian, Polish
	['frist'] = 'first',                            -- misspelling
	['fundstelle'] = 'at',                          -- German
	['gazete'] = 'work',                            -- Turkish
	['giornale'] = 'journal',                       -- Italian
    ['hämtdatum'] = 'access-date',                  -- Swedish	
    ['herausgeber'] = 'editor',                     -- German (singular and plural)
	['hrsg'] = 'publisher',                         -- German
	['hrsgreihe'] = 'editor',                       -- German
	['idioma'] = 'language',                        -- Spanish
	['ignore-isbn-error'] = 'isbn',                 -- old parameter (can be fully emulated using ((syntax)))
	['ignoreisbnerror'] = 'isbn',                   -- old parameter alias (suggest|isbn as|ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax))
	['imię'] = 'first',                             -- Polish
	['in-set'] = 'inset',                           -- misspelling
	['interviewerlink'] = 'interviewer-link',       -- old parameter alias
	['interviewermask'] = 'interviewer-mask',       -- old parameter alias
	['isbndefekt'] = 'isbn',                        -- German (suggest|isbn as|ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax))
	['isbnformalfalsch'] = 'isbn',                  -- German (suggest|isbn as|ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax))
	['isbnistformalfalsch'] = 'isbn',               -- German (suggest|isbn as|ignore-isbn-error is deprecated), not a direct replacement, but can be fully emulated using ((syntax))
	['isnb'] = 'isbn',                              -- misspelling
	['issnformalfalsch'] = 'issn',                  -- German (can be fully emulated using ((syntax)))
	['jahr'] = 'date',                              -- German
	['jahrea'] = 'orig-date',                       -- German (not a direct replacement, but can be emulated)
	['kapitel'] = 'chapter',                        -- German
	['langauge'] = 'language',                      -- misspelling
	['langue'] = 'language',                        -- French
	['last-author-amp'] = 'name-list-style',        -- old parameter name (as |name-list-style=amp)
	['lastauthoramp'] = 'name-list-style',          -- old parameter name (as |name-list-style=amp)
	['lieu'] = 'location',                          -- French
	['lingua'] = 'language',                        -- Italian
	['lire en ligne'] = 'url',                      -- French
	['lizenznummer'] = 'id',                        -- German (as 'id=License No. ...')
	['loaction'] = 'location',                      -- misspelling
	['local'] = 'location',                         -- Brazilian Portuguese
	['locatoin'] = 'location',                      -- misspelling
	['lugar'] = 'location',                         -- Spanish
	['mailinglist'] = 'mailing-list',               -- old parameter name
	['mapurl'] = 'map-url',                         -- old parameter name
	['mes'] = 'date',                               -- Spanish (not a direct replacement)
	['mese'] = 'date',                              -- Italian (not a direct replacement)
	['miejsce'] = 'location',                       -- Polish
	['miesiąc'] = 'date',                           -- Polish
	['mois'] = 'date',                              -- French
	['monat'] = 'date',                             -- German
	['name-list-format'] = 'name-list-style',       -- old parameter name (as |name-list-style=amp)
	['nazwisko'] = 'last',                          -- Polish
	['nespaper'] = 'newspaper',                     -- misspelling
	['net-work'] = 'network',                       -- misspelling
	['newpaper'] = 'newspaper',                     -- misspelling
	['news'] = 'newspaper',
	['news-group'] = 'newsgroup',                   -- misspelling
	['news-paper'] = 'newspaper',                   -- misspelling
	['no-cat'] = 'no-tracking',                     -- old parameter
	['nocat'] = 'no-tracking',                      -- old parameter
	['nom'] = 'last',                               -- French
	['nombre'] = 'first',                           -- Spanish
	['nome'] = 'first',                             -- Italian
	['nopp'] = 'no-pp',                             -- old parameter name
	['notracking'] = 'no-tracking',                 -- old parameter
	['numero'] = 'number',                          -- Italian, Spanish
	['nummer'] = 'number',                          -- German
	['nummerreihe'] = 'number',                     -- German
	['obra'] = 'work',                              -- Spanish
	['odpowiedzialność'] = 'agency',                -- Polish
	['offline'] = 'url-status',                     -- German (as 'url-status=dead')
	['online'] = 'url',                             -- German (not a direct replacement, but can be emulated)
	['opera'] = 'work',                             -- Italian
	['opublikowany'] = 'agency',                    -- Polish
	['origdate'] = 'orig-date',                     -- misspelling
	['originaljahr'] = 'orig-date',                 -- German
	['originalort'] = 'publication-place',          -- German
	['originalsprache'] = 'language',               -- German
	['originaltitel'] = 'title',                    -- German (if 'originaltitel' used, contents of 'title' should be put in 'trans-title')
	['ort'] = 'publication-place',                  -- German
	['ortea'] = 'publication-place',                -- German (not a direct replacement, but can be emulated)
	['other'] = 'others',
	['oznaczenie'] = 'agency',                      -- Polish
	['pagees'] = 'pages',                           -- misspelling
	['pagina'] = 'page',                            -- Italian
	['pagina'] = 'pages',                           -- Italian
	['pagine'] = 'pages',                           -- Italian
	['pagine'] = 'pages',                           -- Italian
	['passage'] = 'pages',                          -- French
	['periodico'] = 'magazine',                     -- Spanish
	['plublisher'] = 'publisher',                   -- misspelling
	['pmcid'] = 'pmc',
	['post-script'] = 'postscript',                 -- misspelling
	['praca'] = 'work',                             -- Polish
	['primero'] = 'first',                          -- Spanish
	['prénom'] = 'first',                           -- French
	['prénom1'] = 'first1',                         -- French
	['ps'] = 'postscript',
	['pub'] = 'publisher',
	['publicationdate'] = 'publication-date',       -- old parameter name
	['publicationplace'] = 'publication-place',     -- old parameter name
	['pulbication-place'] = 'publication-place',    -- misspelling
	['página'] = 'page',                            -- Spanish
	['páginas'] = 'pages',                          -- Spanish
	['périodique'] = 'publisher',                   -- French
	['registration'] = 'url-access',                -- old parameter name
	['reihe'] = 'series',                           -- German
	['retrieved'] = 'access-date',                  -- old parameter name
	['richiestasottoscrizione'] = 'url-access',     -- Italian (as|url-access=subscription)
	['rivista'] = 'magazine',                       -- Italian
    ['rok'] = 'date',                               -- Polish
	['rubrik'] = 'title',                           -- Swedish
    ['sammelwerk'] = 'work',                        -- German
	['sayfa'] = 'page',                             -- Turkish
	['sayfalar'] = 'pages',                         -- Turkish
	['sayı'] = 'issue',                             -- Turkish
	['script-post'] = 'postscript',                 -- misspelling
	['script-trans'] = 'transcript',                -- misspelling
	['season'] = 'date',                            -- old parameter name (cite serial only)
	['sectionurl'] = 'section-url',                 -- old parameter name
	['seiten'] = 'pages',                           -- German
	['seria'] = 'series',                           -- Spanish, Polish
	['serie'] = 'series',                           -- Italian
	['série'] = 'series',                           -- French
	['serieslink'] = 'series-link',                 -- old parameter name
	['seriesno'] = 'series-number',                 -- old parameter name
	['service'] = 'agency',
	['sitioweb'] = 'website',                       -- Spanish
	['sito'] = 'website',                           -- Italian
	['soyadı'] = 'last',                            -- Turkish
	['spalten'] = 'at',                             -- German (not a direct replacement, but can be emulated)
	['sprache'] = 'language',                       -- German
	['språk'] = 'language',                         -- Swedish, Norwegian
    ['stron'] = 'page',                             -- Polish
	['strony'] = 'pages',                           -- Polish
	['subjectlink'] = 'subject-link',               -- old parameter name
	['subscription'] = 'url-access',                -- old parameter name (emulated as |url-access=subscription)
	['sur-name'] = 'surname',                       -- misspelling
	['suscripción'] = 'url-access',                 -- Spanish, Polish (as |url-access=subscription)
	['tag'] = 'date',                               -- German
	['tarih'] = 'date',                             -- Turkish
	['template doc demo'] = 'no-tracking',          -- old parameter alias
	['tidning'] = 'work',                           -- Swedish
    ['tile'] = 'title',                             -- misspelling
	['timecaption'] = 'time-caption',               -- old parameter name
	['titlelink'] = 'title-link',                   -- old parameter name
	['tipo'] = 'type',                              -- Italian
	['tite'] = 'title',                             -- misspelling
	['titel'] = 'title',                            -- German
	['titel-p'] = 'title',                          -- German ('postscript=none' should be added as well)
	['titelerg'] = 'contribution',                  -- German (not a direct replacement, but can be emulated)
	['titled'] = 'title',                           -- Brazilian Portuguese
	['titolo'] = 'title',                           -- Italian
	['titre'] = 'title',                            -- French
	['trans-script'] = 'transcript',                -- misspelling
	['trans_chapter'] = 'trans-chapter',            -- old parameter alias
	['trans_title'] = 'trans-title',                -- old parameter alias
	['transchapter'] = 'trans-chapter',
	['transcripturl'] = 'transcript-url',           -- old parameter name
	['transscript'] = 'transcript',                 -- misspelling
	['transscript-format'] = 'transcript-format',   -- misspelling
	['transscript-url'] = 'transcript-url',         -- misspelling
	['transscripturl'] = 'transcript-url',          -- misspelling
	['transtitle'] = 'trans-title',
	['typ'] = 'author-mask',                        -- German (not a direct replacement, but the only valid argument 'typ=wl' can be emulated using 'author-mask')
	['tytuł'] = 'title',                            -- Polish
	['títle'] = 'title',
	['título'] = 'title',                           -- Spanish
	['ubicación'] = 'location',	                    -- Spanish
	['urlarchivio'] = 'archive-url',                -- Italian
	['urlarchivo'] = 'archive-url',                 -- Spanish
	['urlmorto'] = 'url-status',                    -- Italian
	['urn'] = 'id',                                 -- German (as 'id={{URN|...}}')
	['v-authors'] = 'vauthors',                     -- misspelling
	['v-editors'] = 'veditors',                     -- misspelling
	['verlag'] = 'publisher',                       -- German
	['verlagea'] = 'publisher',                     -- German (not a direct replacement, but can be emulated)
	['vol'] = 'volume',
	['volumen'] = 'volume',                         -- Spanish
	['werk'] = 'work',                              -- German
	['werkerg'] = 'contribution',                   -- German (not a direct replacement, but can be emulated)
	['wkautore'] = 'author-link',                   -- Italian
	['wolumin'] = 'volume',                         -- Polish
	['wydanie'] = 'number',                         -- Polish
	['wydawca'] = 'publisher',                      -- French
	['yardımcıyazarlar'] = 'author',                -- Turkish
	['yayımcı'] = 'publisher',                      -- Turkish
	['yayıncı'] = 'publisher',                      -- Turkish
	['yazar'] = 'author',                           -- Turkish
	['yazarbağı'] = 'author-link',                  -- Turkish
	['yer'] = 'location',                           -- Turkish
	['yıl'] = 'date',                               -- Turkish
	['zaprezentowany'] = 'publisher',               -- French
	['zdb'] = 'id',                                 -- German (as 'id={{ZDB|...}}')
	['zitat'] = 'quote',                            -- German
	['zugriff'] = 'access-date',                    -- German
	['éditeur'] = 'editor',                         -- French
	['ölüurl'] = 'url-status',                      -- Turkish
	['übersetzer'] = 'translator',                  -- German (singular and plural)
}


--[[--------------------------< 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: &lsqb;[mediawikiwiki:Extension:Scribunto/Lua reference manual#Patterns|Lua reference manual]&rsqb;

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 |author6=, etc.) The value from the capture replaces $1 in the 'correct' value.

]]

local patterns = {
	['^ac+es+ ?d?a?t?e?$'] = 'access-date',         -- misspelling
	['^apellido[s]?(%d+)$'] = 'last$1',             -- Spanish, enumerated
	['^a[utho]+r$'] = 'author',                     -- misspelling
	['^a[utho]+r(%d+)$'] = 'author$1',              -- misspelling, enumerated
	['^author link(%d+)$'] = 'author-link$1',       -- Polish, enumerated
	['^autor[e]?(%d+)$'] = 'author$1',              -- Italian/Spanish/German, enumerated
	['^authorfirst(%d+)$'] = 'author-first$1',      -- old parameter name, enumerated
	['^author(%d+)first$'] = 'author-first$1',      -- old parameter name, enumerated
	['^authorgiven(%d+)$'] = 'author-given$1',      -- old parameter name, enumerated
	['^author(%d+)given$'] = 'author-given$1',      -- old parameter name, enumerated
	['^authorlast(%d+)$'] = 'author-last$1',        -- old parameter name, enumerated
	['^author(%d+)last$'] = 'author-last$1',        -- old parameter name, enumerated
	['^authormask(%d+)$'] = 'author-mask$1',        -- old parameter name, enumerated
	['^author(%d+)mask$'] = 'author-mask$1',        -- old parameter name, enumerated
	['^authorsurname(%d+)$'] = 'author-surname$1',  -- old parameter name, enumerated
	['^author(%d+)surname$'] = 'author-surname$1',  -- old parameter name, enumerated
	['^cognome(%d+)$'] = 'last$1',                  -- Italian, enumerated
	['^editorfirst(%d+)$'] = 'editor-first$1',      -- old parameter name, enumerated
	['^editor(%d+)first$'] = 'editor-first$1',      -- old parameter name, enumerated
	['^editorgiven(%d+)$'] = 'editor-given$1',      -- old parameter name, enumerated
	['^editor(%d+)given$'] = 'editor-given$1',      -- old parameter name, enumerated
	['^editorlast(%d+)$'] = 'editor-last$1',        -- old parameter name, enumerated
	['^editor(%d+)last$'] = 'editor-last$1',        -- old parameter name, enumerated
	['^editorlink(%d+)$'] = 'editor-link$1',        -- old parameter name, enumerated
	['^editor(%d+)link$'] = 'editor-link$1',        -- old parameter name, enumerated
	['^editormask(%d+)$'] = 'editor-mask$1',        -- old parameter name, enumerated
	['^editor(%d+)mask$'] = 'editor-mask$1',        -- old parameter name, enumerated
	['^editorsurname(%d+)$'] = 'editor-surname$1',  -- old parameter name, enumerated
	['^editor(%d+)surname$'] = 'editor-surname$1',  -- old parameter name, enumerated
	['^enlaceautore(%d+)$'] = 'author-link$1',      -- Spanish, enumerated
	['^first (%d+)$'] = 'first$1',                  -- enumerated
	['^last (%d+)$'] = 'last$1',                    -- enumerated
	['^nom[e]?(%d+)$'] = 'last$1',                  -- Italian/French, enumerated
	['^nombre(%d+)$'] = 'first$1',                  -- Spanish, enumerated
	['^primero(%d+)$'] = 'first$1',                 -- Spanish, enumerated
	['^pu[blish]+ers?$'] = 'publisher',             -- misspelling
	['^subjectlink(%d+)$'] = 'subject-link$1',      -- old parameter name, enumerated
	['^subject(%d+)link$'] = 'subject-link$1',      -- old parameter name, enumerated
	['^wkautore(%d+)$'] = 'author-link$1',          -- Italian, enumerated
	}

return {suggestions = suggestions, patterns=patterns};