Module:Citation/CS1/Configuration: Difference between revisions
sync from sandbox;
(links to wikipedia, since we don't have articles about ISBN, ISSN and others) |
(sync from sandbox;) |
||
Line 1: | Line 1: | ||
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | ||
Line 11: | Line 9: | ||
local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' }; | local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' }; | ||
local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; | local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize | ||
--[[--------------------------< M E S S A G E S >-------------------------------------------------------------- | --[[--------------------------< M E S S A G E S >-------------------------------------------------------------- | ||
Line 24: | Line 23: | ||
local messages = { | local messages = { | ||
['agency'] = '$1 $2', -- $1 is sepc, $2 is agency | |||
['archived-dead'] = 'Archived from $1 on $2', | ['archived-dead'] = 'Archived from $1 on $2', | ||
['archived- | ['archived-live'] = '$1 from the original on $2', | ||
['archived-missing'] = 'Archived from the original$1 on $2', | ['archived-missing'] = 'Archived from the original$1 on $2', | ||
['archived-unfit'] = 'Archived from the original on ', | |||
['archived'] = 'Archived', | ['archived'] = 'Archived', | ||
['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword | ['by'] = 'By', -- contributions to authored works: introduction, foreword, afterword | ||
Line 42: | Line 43: | ||
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ||
['original'] = 'the original', | ['original'] = 'the original', | ||
['origyear'] = ' [$1]', | |||
['published'] = ' (published $1)', | ['published'] = ' (published $1)', | ||
['retrieved'] = 'Retrieved $1', | ['retrieved'] = 'Retrieved $1', | ||
Line 47: | Line 49: | ||
['section'] = '§ $1', | ['section'] = '§ $1', | ||
['sections'] = '§§ $1', | ['sections'] = '§§ $1', | ||
['series'] = 'Series $1', | ['series'] = '$1 $2', -- $1 is sepc, $2 is series | ||
['seriesnum'] = 'Series $1', | |||
['translated'] = 'Translated by $1', | ['translated'] = 'Translated by $1', | ||
['type'] = ' ($1)', -- for titletype | ['type'] = ' ($1)', -- for titletype | ||
Line 69: | Line 72: | ||
['j-sheet'] = ': Sheet $1', | ['j-sheet'] = ': Sheet $1', | ||
['j-sheets'] = ': Sheets $1', | ['j-sheets'] = ': Sheets $1', | ||
['language'] = '(in $1)', | ['language'] = '(in $1)', | ||
Line 95: | Line 92: | ||
['unknown_argument_map'] = 'Argument map not defined for this variable', | ['unknown_argument_map'] = 'Argument map not defined for this variable', | ||
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty', | ['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty', | ||
} | |||
--[=[-------------------------< E T _ A L _ P A T T E R N S >-------------------------------------------------- | |||
This table provides Lua patterns for the phrase "et al" and variants in name text | |||
(author, editor, etc.). The main module uses these to identify and emit the 'etal' message. | |||
]=] | |||
local et_al_patterns = { | |||
"[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.\"']*$", -- variations on the 'et al' theme | |||
"[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][Aa][%.\"']*$", -- variations on the 'et alia' theme | |||
"[;,]? *%f[%a]and [Oo]thers", -- and alternate to et al. | |||
"%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]", -- a wikilinked form | |||
"[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]", -- a bracketed form | |||
} | |||
--[[--------------------------< E D I T O R _ M A R K U P _ P A T T E R N S >---------------------------------- | |||
This table provides Lua patterns for the phrase "ed" and variants in name text | |||
(author, editor, etc.). The main module uses these to identify and emit the | |||
'extra_text_names' message. (It is not the only series of patterns for this message.) | |||
]] | |||
local editor_markup_patterns = { -- these patterns match annotations at end of name | |||
'%f[%(%[][%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]?$', -- (ed) or (eds): leading '(', case insensitive 'ed', optional 's', '.' and/or ')' | |||
'[,%.%s]%f[e]eds?%.?$', -- ed or eds: without '('or ')'; case sensitive (ED could be initials Ed could be name) | |||
'%f[%(%[][%(%[]%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?%s*[%)%]]?$', -- (editor) or (editors): leading '(', case insensitive, optional '.' and/or ')' | |||
'[,%.%s]%f[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?$', -- editor or editors: without '('or ')'; case insensitive | |||
-- these patterns match annotations at beginning of name | |||
'^eds?[%.,;]', -- ed. or eds.: lower case only, optional 's', requires '.' | |||
'^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', -- (ed) or (eds): also sqare brackets, case insensitive, optional 's', '.' | |||
'^[%(%[]?%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%A', -- (editor or (editors: also sq brackets, case insensitive, optional brackets, 's' | |||
'^[%(%[]?%s*[Ee][Dd][Ii][Tt][Ee][Dd]%A', -- (edited: also sq brackets, case insensitive, optional brackets | |||
-- these patterns match annotations that are the 'name' | |||
'^[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?$', -- editor or editors; case insensitive | |||
} | } | ||
Line 112: | Line 149: | ||
['hidden-error'] = '<span class="cs1-hidden-error error citation-comment">$1</span>', | ['hidden-error'] = '<span class="cs1-hidden-error error citation-comment">$1</span>', | ||
['visible-error'] = '<span class="cs1-visible-error error citation-comment">$1</span>', | ['visible-error'] = '<span class="cs1-visible-error error citation-comment">$1</span>', | ||
['hidden-maint'] = '<span class="cs1-maint citation-comment">$1</span>', | |||
['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css | ['accessdate'] = '<span class="reference-accessdate">$1$2</span>', -- to allow editors to hide accessdate using personal css | ||
Line 130: | Line 168: | ||
['limited'] = {class='cs1-lock-limited', title='Free access subject to limited trial, subscription normally required'}, | ['limited'] = {class='cs1-lock-limited', title='Free access subject to limited trial, subscription normally required'}, | ||
['subscription'] = {class='cs1-lock-subscription', title='Paid subscription required'}, | ['subscription'] = {class='cs1-lock-subscription', title='Paid subscription required'}, | ||
['interwiki-icon'] = '<span class="$1" title="$2">$3</span>', | |||
['class-wikisource'] = 'cs1-ws-icon', | |||
['italic-title'] = "''$1''", | ['italic-title'] = "''$1''", | ||
Line 170: | Line 211: | ||
--[[--------------------------< A L I A S E S >---------------------------------------------------------------- | --[[--------------------------< A L I A S E S >---------------------------------------------------------------- | ||
Aliases table for commonly passed parameters | Aliases table for commonly passed parameters. | ||
Parameter names on the right side in the assignements in this table must have been defined in the Whitelist | |||
before they will be recognized as valid parameter names | |||
]] | ]] | ||
local aliases = { | local aliases = { | ||
['AccessDate'] = {'access-date', 'accessdate'}, | ['AccessDate'] = {'access-date', 'accessdate'}, -- Used by InternetArchiveBot | ||
['Agency'] = 'agency', | ['Agency'] = 'agency', | ||
-- ['AirDate'] = {'air-date', 'airdate'}, | |||
['ArchiveDate'] = {'archive-date', 'archivedate'}, | ['ArchiveDate'] = {'archive-date', 'archivedate'}, -- Used by InternetArchiveBot | ||
['ArchiveFormat'] = 'archive-format', | ['ArchiveFormat'] = 'archive-format', | ||
['ArchiveURL'] = {'archive-url', 'archiveurl'}, | ['ArchiveURL'] = {'archive-url', 'archiveurl'}, -- Used by InternetArchiveBot | ||
['ASINTLD'] = | ['ASINTLD'] = 'asin-tld', | ||
['At'] = 'at', | ['At'] = 'at', -- Used by InternetArchiveBot | ||
['Authors'] = {'authors', 'people | ['Authors'] = {'authors', 'people', 'credits'}, | ||
['BookTitle'] = {'book-title', 'booktitle'}, | ['BookTitle'] = {'book-title', 'booktitle'}, | ||
['Cartography'] = 'cartography', | ['Cartography'] = 'cartography', | ||
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ||
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; | ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; | ||
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl'}, | ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl'}, -- Used by InternetArchiveBot | ||
['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, | ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot | ||
['Class'] = 'class', -- cite arxiv and arxiv identifiers | ['Class'] = 'class', -- cite arxiv and arxiv identifiers | ||
['Collaboration'] = 'collaboration', | ['Collaboration'] = 'collaboration', | ||
['Conference'] = {'conference', 'event'}, | ['Conference'] = {'conference', 'event'}, | ||
['ConferenceFormat'] = {'conference-format', 'event-format'}, | ['ConferenceFormat'] = {'conference-format', 'event-format'}, | ||
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, | ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'}, -- Used by InternetArchiveBot | ||
['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set | ['Contribution'] = 'contribution', -- introduction, foreword, afterword, etc; required when |contributor= set; TODO: make internal only see TODO in main module | ||
-- ['Date'] = 'date', | |||
[' | ['Date'] = {'date', 'air-date', 'airdate'}, -- air-date and airdate for cite episode and cite serial only | ||
['Degree'] = 'degree', | ['Degree'] = 'degree', | ||
['DF'] = 'df', | ['DF'] = 'df', | ||
['DisplayAuthors'] = {'display-authors', 'displayauthors'}, | ['DisplayAuthors'] = {'display-authors', 'displayauthors'}, | ||
['DisplayContributors'] = 'display-contributors', | |||
['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ['DisplayEditors'] = {'display-editors', 'displayeditors'}, | ||
['DisplayInterviewers'] = 'display-interviewers', | |||
['DisplayTranslators'] = 'display-translators', | |||
['Docket'] = 'docket', | ['Docket'] = 'docket', | ||
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, | ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, | ||
Line 214: | Line 261: | ||
['Inset'] = 'inset', | ['Inset'] = 'inset', | ||
['Issue'] = {'issue', 'number'}, | ['Issue'] = {'issue', 'number'}, | ||
['Language'] = {'language', 'lang'}, | ['Language'] = {'language', 'lang'}, | ||
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'}, | ||
Line 220: | Line 266: | ||
['LayFormat'] = 'lay-format', | ['LayFormat'] = 'lay-format', | ||
['LaySource'] = {'lay-source', 'laysource'}, | ['LaySource'] = {'lay-source', 'laysource'}, | ||
['LayURL'] = {'lay-url | ['LayURL'] = {'lay-url', 'layurl'}, -- Used by InternetArchiveBot | ||
['MailingList'] = {' | ['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only | ||
['Map'] = 'map', -- cite map only | ['Map'] = 'map', -- cite map only | ||
['MapFormat'] = 'map-format', -- cite map only | ['MapFormat'] = 'map-format', -- cite map only | ||
['MapURL'] = {'mapurl', 'map-url' | ['MapURL'] = {'map-url', 'mapurl'}, -- cite map only -- Used by InternetArchiveBot | ||
['MapUrlAccess'] = 'map-url-access', -- cite map only -- Used by InternetArchiveBot | |||
-- ['MessageID'] = 'message-id', | |||
['Minutes'] = 'minutes', | ['Minutes'] = 'minutes', | ||
['Mode'] = 'mode', | ['Mode'] = 'mode', | ||
['NameListFormat'] = 'name-list-format', | ['NameListFormat'] = 'name-list-format', | ||
['Network'] = 'network', | ['Network'] = 'network', | ||
['Newsgroup'] = 'newsgroup', -- cite newsgroup only | |||
['NoPP'] = {'no-pp', 'nopp'}, | ['NoPP'] = {'no-pp', 'nopp'}, | ||
['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', | ['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', 'no-tracking', 'notracking'}, | ||
['Number'] = 'number', -- this case only for cite techreport | ['Number'] = 'number', -- this case only for cite techreport | ||
['OrigYear'] = {'orig-year', 'origyear'}, | ['OrigYear'] = {'orig-year', 'origyear'}, | ||
['Others'] = 'others', | ['Others'] = 'others', | ||
['Page'] = {'p', 'page'}, | ['Page'] = {'p', 'page'}, -- Used by InternetArchiveBot | ||
['Pages'] = {'pp', 'pages'}, | ['Pages'] = {'pp', 'pages'}, -- Used by InternetArchiveBot | ||
['Periodical'] = {'journal', ' | ['Periodical'] = {'journal', 'magazine', 'newspaper', 'periodical', 'website', 'work', | ||
'encyclopedia', 'encyclopaedia', 'dictionary', 'mailinglist'}, -- these masquerade as periodicals but aren't TODO: find a better way to handle these? | |||
['Place'] = {'place', 'location'}, | ['Place'] = {'place', 'location'}, | ||
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
['PublicationDate'] = {' | ['PublicationDate'] = {'publication-date', 'publicationdate'}, | ||
['PublicationPlace'] = {'publication-place', 'publicationplace'}, | ['PublicationPlace'] = {'publication-place', 'publicationplace'}, | ||
-- ['PublisherName'] = {'publisher', 'institution', 'newsgroup'}, | |||
['PublisherName'] = {'publisher', 'institution'}, | |||
['Quote'] = {'quote', 'quotation'}, | ['Quote'] = {'quote', 'quotation'}, | ||
['Ref'] = 'ref', | ['Ref'] = 'ref', | ||
['Scale'] = 'scale', | ['Scale'] = 'scale', | ||
['ScriptChapter'] = 'script-chapter', | ['ScriptChapter'] = {'script-chapter', 'script-contribution', 'script-entry', 'script-article', 'script-section'}, | ||
['ScriptTitle'] = 'script-title', | ['ScriptMap'] = 'script-map', | ||
['ScriptPeriodical'] = {'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-website', 'script-work'}, | |||
['ScriptTitle'] = 'script-title', -- Used by InternetArchiveBot | |||
['Section'] = 'section', | ['Section'] = 'section', | ||
['Season'] = 'season', | ['Season'] = 'season', | ||
Line 261: | Line 310: | ||
['Sheets'] = 'sheets', -- cite map only | ['Sheets'] = 'sheets', -- cite map only | ||
['Station'] = 'station', | ['Station'] = 'station', | ||
['Time'] = 'time', | ['Time'] = 'time', | ||
['TimeCaption'] = {'time-caption', 'timecaption'}, | ['TimeCaption'] = {'time-caption', 'timecaption'}, | ||
['Title'] = 'title', | ['Title'] = 'title', -- Used by InternetArchiveBot | ||
['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink'}, | ['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink'}, -- Used by InternetArchiveBot | ||
['TitleNote'] = 'department', | ['TitleNote'] = 'department', | ||
['TitleType'] = {'type', 'medium'}, | ['TitleType'] = {'type', 'medium'}, | ||
['TransChapter'] = 'trans-chapter', | ['TransChapter'] = {'trans-article', 'trans-chapter', 'trans-contribution', 'trans-entry', 'trans-section'}, | ||
['Transcript'] = 'transcript', | |||
['TranscriptFormat'] = 'transcript-format', | |||
['TranscriptURL'] = {'transcript-url', 'transcripturl'}, -- Used by InternetArchiveBot | |||
['TransMap'] = 'trans-map', -- cite map only | ['TransMap'] = 'trans-map', -- cite map only | ||
[' | ['TransPeriodical'] = {'trans-journal', 'trans-magazine', 'trans-newspaper', 'trans-periodical', 'trans-website', 'trans-work'}, | ||
['TransTitle'] = 'trans-title', -- Used by InternetArchiveBot | |||
['URL'] = {'url', 'URL'}, -- Used by InternetArchiveBot | |||
['TransTitle'] = 'trans-title', | ['UrlAccess'] = 'url-access', -- Used by InternetArchiveBot | ||
['URL'] = {'url', 'URL'}, | ['UrlStatus'] = 'url-status', -- Used by InternetArchiveBot | ||
['UrlAccess'] = | |||
['Vauthors'] = 'vauthors', | ['Vauthors'] = 'vauthors', | ||
['Veditors'] = 'veditors', | ['Veditors'] = 'veditors', | ||
Line 282: | Line 332: | ||
['Year'] = 'year', | ['Year'] = 'year', | ||
['AuthorList-First'] = {"first#", " | ['AuthorList-First'] = {"first#", "author-first#", "author#-first", "given#"}, | ||
['AuthorList-Last'] = {"last#", "author#", " | ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author#", "surname#", "subject#", 'host#'}, | ||
['AuthorList-Link'] = { | ['AuthorList-Link'] = {"author-link#", "author#-link", "authorlink#", "author#link", "subject-link#", "subject#-link", "subjectlink#", "subject#link"}, | ||
['AuthorList-Mask'] = {"author-mask#", " | ['AuthorList-Mask'] = {"author-mask#", "author#-mask", "authormask#", "author#mask"}, | ||
['ContributorList-First'] = {'contributor-first#', 'contributor#-first', 'contributor-given#', 'contributor#-given'}, | ['ContributorList-First'] = {'contributor-first#', 'contributor#-first', 'contributor-given#', 'contributor#-given'}, | ||
['ContributorList-Last'] = {'contributor#', 'contributor-last | ['ContributorList-Last'] = {'contributor-last#', 'contributor#-last', 'contributor#', 'contributor-surname#', 'contributor#-surname'}, | ||
['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, | ['ContributorList-Link'] = {'contributor-link#', 'contributor#-link'}, | ||
['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, | ['ContributorList-Mask'] = {'contributor-mask#', 'contributor#-mask'}, | ||
['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, | ['EditorList-First'] = {"editor-first#", "editor#-first", "editor-given#", "editor#-given"}, | ||
['EditorList-Last'] = {"editor#", "editor-last | ['EditorList-Last'] = {"editor-last#", "editor#-last", "editor#", "editor-surname#", "editor#-surname"}, | ||
['EditorList-Link'] = {"editor-link#", "editor#-link", "editorlink#", "editor#link"}, | ['EditorList-Link'] = {"editor-link#", "editor#-link", "editorlink#", "editor#link"}, | ||
['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"}, | ['EditorList-Mask'] = {"editor-mask#", "editor#-mask", "editormask#", "editor#mask"}, | ||
['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first'}, | ['InterviewerList-First'] = {'interviewer-first#', 'interviewer#-first'}, | ||
['InterviewerList-Last'] = {'interviewer#', 'interviewer-last | ['InterviewerList-Last'] = {'interviewer-last#', 'interviewer#-last', 'interviewer#'}, | ||
['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, | ['InterviewerList-Link'] = {'interviewer-link#', 'interviewer#-link'}, | ||
['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, | ['InterviewerList-Mask'] = {'interviewer-mask#', 'interviewer#-mask'}, | ||
['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, | ['TranslatorList-First'] = {'translator-first#', 'translator#-first', 'translator-given#', 'translator#-given'}, | ||
['TranslatorList-Last'] = {'translator#', 'translator-last | ['TranslatorList-Last'] = {'translator-last#', 'translator#-last', 'translator#', 'translator-surname#', 'translator#-surname'}, | ||
['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, | ['TranslatorList-Link'] = {'translator-link#', 'translator#-link'}, | ||
['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, | ['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'}, | ||
} | } | ||
--[[--------------------------< P U N C T _ S K I P >---------------------------------------------------------- | |||
builds a table of parameter names that the extraneous terminal punctuation check should not check. | |||
]] | |||
local punct_skip = {}; | |||
local meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value | |||
'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters | |||
'PostScript', 'Quote', 'Ref', -- miscellaneous | |||
'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'LayURL', 'MapURL', 'TranscriptURL', 'URL', -- url-holding parameters | |||
} | |||
for _, meta_param in ipairs (meta_params) do -- for each meta parameter key | |||
local params = aliases[meta_param]; -- get the parameter or the table of parameters associated with the meta parameter name | |||
if 'string' == type (params) then | |||
punct_skip[params] = 1; -- just a single parameter | |||
else | |||
for _, param in ipairs (params) do -- get the parameter name | |||
punct_skip[param] = 1; -- add the parameter name to the skip table | |||
end | |||
end | |||
end | |||
Line 318: | Line 394: | ||
local special_case_translation = { | local special_case_translation = { | ||
['AuthorList'] = | ['AuthorList'] = 'authors list', -- used to assemble maintenance category names | ||
['ContributorList'] = | ['ContributorList'] = 'contributors list', -- translation of these names plus translation of the base mainenance category names in maint_cats{} table below | ||
['EditorList'] = | ['EditorList'] = 'editors list', -- must match the names of the actual categories | ||
['InterviewerList'] = | ['InterviewerList'] = 'interviewers list', -- this group or translations used by name_has_ed_markup() and name_has_mult_names() | ||
['TranslatorList'] = | ['TranslatorList'] = 'translators list', | ||
['authors'] = | ['authors'] = 'authors', -- used to assemble maintenance category names | ||
[' | ['contributors'] = 'contributors', -- translation of these names plus translation of the base mainenance category names in maint_cats{} table below | ||
['editors'] = 'editors', -- must match the names of the actual categories | |||
['interviewers'] = 'interviewers', -- this group of translations used by get_display_names() | |||
['translators'] = 'translators', | |||
-- lua patterns to match pseudo title used by Internet Archive bot and others as place holder for unknown |title= value | |||
['archived_copy'] = { -- used with CS1 maint: Archived copy as title | |||
['en'] = '^archived?%s+copy$', -- for English; translators: keep this because templates imported from en.wiki | |||
['local'] = '^archived?%s+copy$', -- for the local language; lowercase only | |||
} | |||
} | } | ||
Line 364: | Line 434: | ||
local date_names = { | local date_names = { | ||
['en'] = { -- English | ['en'] = { -- English | ||
['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12} | ['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12}, | ||
['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12} | ['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12}, | ||
['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23} | ['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23}, | ||
['named'] = {['Christmas']=99} | ['named'] = {['Christmas']=99}, | ||
}, | }, | ||
['local'] = { -- replace these English date names with the local language equivalents | ['local'] = { -- replace these English date names with the local language equivalents | ||
['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12} | ['long'] = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12}, | ||
['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12} | ['short'] = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12}, | ||
['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23} | ['season'] = {['Winter']=24, ['Spring']=21, ['Summer']=22, ['Fall']=23, ['Autumn']=23}, | ||
['named'] = {['Christmas']=99} | ['named'] = {['Christmas']=99}, | ||
}, | }, | ||
['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'} | ['inv_local_l'] = {}, -- used in date reformatting; copy of date_names['local'].long where k/v are inverted: [1]='<local name>' etc | ||
['xlate_digits'] = {} | ['inv_local_s'] = {}, -- used in date reformatting; copy of date_names['local'].short where k/v are inverted: [1]='<local name>' etc | ||
['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}, -- used to convert local language digits to Western 0-9 | |||
['xlate_digits'] = {}, | |||
} | } | ||
for ld, ed in pairs (date_names.local_digits) do | for name, i in pairs (date_names['local'].long) do -- this table is ['name'] = i | ||
date_names['inv_local_l'][i] = name; -- invert to get [i] = 'name' for conversions from ymd | |||
end | |||
for name, i in pairs (date_names['local'].short) do -- this table is ['name'] = i | |||
date_names['inv_local_s'][i] = name; -- invert to get [i] = 'name' for conversions from ymd | |||
end | |||
for ld, ed in pairs (date_names.local_digits) do -- make a digit translation table for simple date translation from en to local language using local_digits table | |||
date_names.xlate_digits [ed] = ld; -- en digit becomes index with local digit as the value | |||
end | |||
local df_template_patterns = { -- table of redirects to {{Use dmy dates}} and {{Use mdy dates}} | |||
'{{ *[Uu]se (dmy) dates *[|}]', -- 915k -- sorted by approximate transclusion count | |||
'{{ *[Uu]se *(mdy) *dates *[|}]', -- 161k | |||
'{{ *[Uu]se (DMY) dates *[|}]', -- 2929 | |||
'{{ *[Uu]se *(dmy) *[|}]', -- 250 + 34 | |||
'{{ *([Dd]my) *[|}]', -- 272 | |||
'{{ *[Uu]se (MDY) dates *[|}]', -- 173 | |||
'{{ *[Uu]se *(mdy) *[|}]', -- 59 + 12 | |||
'{{ *([Mm]dy) *[|}]', -- 9 | |||
'{{ *[Uu]se (MDY) *[|}]', -- 3 | |||
'{{ *([Dd]MY) *[|}]', -- 2 | |||
'{{ *([Mm]DY) *[|}]', -- 0 | |||
-- '{{ *[Uu]se(mdy) *[|}]', | |||
-- '{{ *[Uu]se(mdy)dates *[|}]', | |||
-- '{{ *[Uu]se(dmy) *[|}]', | |||
} | |||
local function get_date_format () | |||
local content = mw.title.getCurrentTitle():getContent() or ''; -- get the content of the article or ''; new pages edited w/ve do not have 'content' until saved; ve does not preview; phab:T221625 | |||
for _, pattern in ipairs (df_template_patterns) do -- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects | |||
local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format | |||
if match then | |||
content = content:match ('%b{}', start); -- get the whole template | |||
if content:match ('| *cs1%-dates *= *[lsy][sy]?') then -- look for |cs1-dates=publication date length access-/archive-date length | |||
return match:lower() .. '-' .. content:match ('| *cs1%-dates *= *([lsy][sy]?)'); | |||
else | |||
return match:lower() .. '-all'; -- no |cs1-dates= k/v pair; return value appropriate for use in |df= | |||
end | |||
end | |||
end | end | ||
end | |||
local global_df = get_date_format (); | |||
Line 393: | Line 507: | ||
local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} | local templates_using_volume = {'citation', 'audio-visual', 'book', 'conference', 'encyclopaedia', 'interview', 'journal', 'magazine', 'map', 'news', 'report', 'techreport', 'thesis'} | ||
local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'} | local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news', 'podcast'} | ||
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | ||
Line 399: | Line 513: | ||
--[[--------------------------< K E Y W O R D S >-------------------------------------------------------------- | --[[--------------------------< K E Y W O R D S >-------------------------------------------------------------- | ||
These tables hold keywords for those parameters that have defined sets of acceptible keywords. | |||
]] | |||
--[[--------------------------< K E Y W O R D S T A B L E >-------------------------------------------------- | |||
this is a list of keywords; each key in the list is associated with a table of synonymous keywords possibly from | |||
different languages. | |||
for i18n: add local-language keywords to value table; do not change the key. For example, adding the German keyword 'ja': | |||
['affirmative'] = {'yes', 'true', 'y', 'ja'}, | |||
Because cs1|2 templates from en.wiki articles are often copied to other local wikis, it is recommended that the English | |||
keywords remain in these tables. | |||
]] | ]] | ||
local keywords = { | local keywords = { | ||
[' | ['affirmative'] = {'yes', 'true', 'y'}, -- ignore-isbn-error, last-author-amp, no-tracking, nopp -- Used by InternetArchiveBot | ||
-- [' | ['afterword'] = {'afterword'}, -- contribution | ||
[' | ['bot: unknown'] = {'bot: unknown'}, -- url-status -- Used by InternetArchiveBot | ||
[' | ['cs1'] = {'cs1'}, -- mode | ||
['name-list-format'] = {' | ['cs2'] = {'cs2'}, -- mode | ||
[' | ['dead'] = {'dead'}, -- url-status -- Used by InternetArchiveBot | ||
[' | ['dmy'] = {'dmy'}, -- df | ||
['dmy-all'] = {'dmy-all'}, -- df | |||
['foreword'] = {'foreword'}, -- contribution | |||
} | ['free'] = {'free'}, -- url-access -- Used by InternetArchiveBot | ||
['introduction'] = {'introduction'}, -- contribution | |||
['limited'] = {'limited'}, -- url-access -- Used by InternetArchiveBot | |||
['live'] = {'live'}, -- url-status -- Used by InternetArchiveBot | |||
['mdy'] = {'mdy'}, -- df | |||
['mdy-all'] = {'mdy-all'}, -- df | |||
['none'] = {'none'}, -- postscript, ref, title, type -- Used by InternetArchiveBot | |||
['preface'] = {'preface'}, -- contribution | |||
['registration'] = {'registration'}, -- url-access -- Used by InternetArchiveBot | |||
['subscription'] = {'subscription'}, -- url-access -- Used by InternetArchiveBot | |||
['unfit'] = {'unfit'}, -- url-status -- Used by InternetArchiveBot | |||
['usurped'] = {'usurped'}, -- url-status -- Used by InternetArchiveBot | |||
['vanc'] = {'vanc'}, -- name-list-format | |||
['ymd'] = {'ymd'}, -- df | |||
['ymd-all'] = {'ymd-all'}, -- df | |||
-- ['yMd'] = {'yMd'}, -- df; not supported at en.wiki | |||
-- ['yMd-all'] = {'yMd-all'}, -- df; not supported at en.wiki | |||
} | |||
--[[--------------------------< X L A T E _ K E Y W O R D S >-------------------------------------------------- | |||
this function builds a list, keywords_xlate{}, of the keywords found in keywords{} where the values from keywords{} | |||
become the keys in keywords_xlate{} and the keys from keywords{} become the values in keywords_xlate{}: | |||
['affirmative'] = {'yes', 'true', 'y'}, -- in keywords{} | |||
becomes | |||
['yes'] = 'affirmative', -- in keywords_xlate{} | |||
['true'] = 'affirmative', | |||
['y'] = 'affirmative', | |||
the purpose of this function is to act as a translator between a non-English keyword and its English equivalent | |||
that may be used in other modules of this suite | |||
]] | |||
local function xlate_keywords () | |||
local out_table = {}; -- output goes here | |||
for k, keywords_t in pairs (keywords) do -- spin through the keywords table | |||
for _, keyword in ipairs (keywords_t) do -- for each keyword | |||
out_table[keyword] = k; -- create an entry in the output table where keyword is the key | |||
end | |||
end | |||
return out_table; | |||
end | |||
local keywords_xlate = xlate_keywords (); -- the list of translated keywords | |||
--[[--------------------------< M A K E _ K E Y W O R D S _ L I S T >------------------------------------------ | |||
this function assembles, for parameter-value validation, the list of keywords appropriate to that parameter. | |||
keywords_lists{}, is a table of tables from keywords{} | |||
]] | |||
local function make_keywords_list (keywords_lists) | |||
local out_table = {}; -- output goes here | |||
for _, keyword_list in ipairs (keywords_lists) do -- spin through keywords_lists{} and get a table of keywords | |||
for _, keyword in ipairs (keyword_list) do -- spin through keyword_list{} and add each keyword, ... | |||
table.insert (out_table, keyword); -- ... as plain text, to the output list | |||
end | |||
end | |||
return out_table; | |||
end | |||
--[[--------------------------< K E Y W O R D S _ L I S T S >-------------------------------------------------- | |||
this is a list of lists of valid keywords for the various parameters in [key]. Generally the keys in this table | |||
are the canonical en.wiki parameter names though some are contrived because of use in multiple differently named | |||
parameters: ['yes_true_y'], ['id-access']. | |||
The function make_keywords_list() extracts the individual keywords from the appropriate list in keywords{}. | |||
The lists in this table are used to validate the keyword assignment for the parameters named in this table's keys. | |||
]] | |||
local keywords_lists = { | |||
['yes_true_y'] = make_keywords_list ({keywords.affirmative}), | |||
['contribution'] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}), | |||
['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all']}), | |||
-- ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all'], keywords.yMd, keywords['yMd-all']}), -- not supported at en.wiki | |||
['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), | |||
['name-list-format'] = make_keywords_list ({keywords.vanc}), | |||
['url-access'] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}), | |||
['url-status'] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords['bot: unknown']}), | |||
['id-access'] = make_keywords_list ({keywords.free}), | |||
} | |||
Line 435: | Line 653: | ||
table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at | table data in an arbitrary order. Here, we want to process the table from top to bottom because the entries at | ||
the top of the table are also found in the ranges specified by the entries at the bottom of the table. | the top of the table are also found in the ranges specified by the entries at the bottom of the table. | ||
Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki | Also here is a pattern that recognizes stripmarkers that begin and end with the delete characters. The nowiki | ||
Line 453: | Line 668: | ||
{'horizontal tab', '\009'}, -- U+0009 (HT), 09 | {'horizontal tab', '\009'}, -- U+0009 (HT), 09 | ||
{'line feed', '\010'}, -- U+000A (LF), 0A | {'line feed', '\010'}, -- U+000A (LF), 0A | ||
{'no-break space', '\194\160'}, -- U+00A0 (NBSP), C2 A0 | |||
{'carriage return', '\013'}, -- U+000D (CR), 0D | {'carriage return', '\013'}, -- U+000D (CR), 0D | ||
{'stripmarker', stripmarkers.any}, -- stripmarker; may or may not be an error; capture returns the stripmaker type | {'stripmarker', stripmarkers.any}, -- stripmarker; may or may not be an error; capture returns the stripmaker type | ||
Line 489: | Line 705: | ||
--[[--------------------------< L A N G U A G E S >------------------------------------------------------------ | |||
--[[--------------------------< L A N G U A G E S U P P O R T >---------------------------------------------- | |||
These tables and constants support various language-specific functionality. | |||
]] | |||
local this_wiki_code = mw.getContentLanguage():getCode(); -- get this wiki's language code | |||
if string.match (mw.site.server, 'wikidata') then | |||
this_wiki_code = mw.getCurrentFrame():preprocess('{{int:lang}}'); -- on wikidata so use interface language setting instead | |||
end | |||
local local_lang_cat_enable = false; -- set to true to categorize pages where |language=<local wiki's language> | |||
--[[--------------------------< S C R I P T _ L A N G _ C O D E S >-------------------------------------------- | |||
This table is used to hold ISO 639-1 two-character language codes that apply only to |script-title= and |script-chapter= | This table is used to hold ISO 639-1 two-character language codes that apply only to |script-title= and |script-chapter= | ||
Line 496: | Line 728: | ||
local script_lang_codes = { | local script_lang_codes = { | ||
'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', 'fa', | 'am', 'ar', 'be', 'bg', 'bn', 'bo', 'bs', 'dv', 'dz', 'el', 'fa', -- ISO 639-1 codes only for |script-title= and |script-chapter= | ||
'gu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku', | 'gu', 'he', 'hi', 'hy', 'ja', 'ka', 'kk', 'km', 'kn', 'ko', 'ku', | ||
'mk', 'ml', 'mn', 'mr', 'my', 'ps', 'ru', 'sd', | 'mk', 'ml', 'mn', 'mr', 'my', 'ne', 'ota', 'ps', 'ru', 'sd', 'si', | ||
'sr', 'tg', 'th', 'uk', ' | 'sr', 'ta', 'tg', 'th', 'ug', 'uk', 'ur', 'uz', 'yi', 'zh' | ||
}; | }; | ||
Line 506: | Line 738: | ||
These tables hold language information that is different (correct) from MediaWiki's definitions | These tables hold language information that is different (correct) from MediaWiki's definitions | ||
For each ['code'] = 'language name' in lang_code_remap{} there must be a matching ['language name'] = {'language name', 'code'} in lang_name_remap{} | |||
lang_code_remap{}: | |||
key is always lowercase ISO 639-1, -2, -3 language code or a valid lowercase IETF language tag | |||
value is properly spelled and capitalized language name associated with key | |||
only one language name per key; | |||
key/value pair must have matching entry in lang_name_remap{} | |||
lang_name_remap{}: | |||
key is always lowercase language name | |||
value is a table the holds correctly spelled and capitalized language name [1] and associated code [2] (code must match a code key in lang_code_remap{}) | |||
may have multiple keys referring to a common preferred name and code; For example: | |||
['kolsch'] and ['kölsch'] both refer to 'Kölsch' and 'ksh' | |||
]] | ]] | ||
local lang_code_remap = { -- used for |language= and |script-title= / |script-chapter= | |||
['als'] = 'Tosk Albanian', -- MediaWiki returns Alemannisch | |||
['bh'] = 'Bihari', -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org | |||
['bla'] = 'Blackfoot', -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name | |||
['bn'] = 'Bengali', -- MediaWiki returns Bangla | |||
['ca-valencia'] = 'Valencian', -- IETF variant of Catalan | |||
['crh'] = 'Crimean Tatar', -- synonymous with Crimean Turkish (return value from {{#language:crh|en}}) | |||
['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | |||
['ksh'] = 'Kölsch', -- MediaWiki: Colognian; use IANA/ISO 639 preferred name | |||
['ksh-x-colog'] = 'Colognian', -- override MediaWiki ksh; no IANA/ISO 639 code for Colognian; IETF private code created at Module:Lang/data | |||
['mis-x-ripuar'] = 'Ripuarian', -- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data | |||
['nan-tw'] = 'Taiwanese Hokkien', -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name | |||
} | |||
local lang_name_remap = { -- used for |language= | |||
['alemannisch'] = {'Swiss German', 'gsw'}, -- not an ISO or IANA language name; MediaWiki uses 'als' as a subdomain name for Alemannic Wikipedia: als.wikipedia.org | |||
['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap | |||
['bengali'] = {'Bengali', 'bn'}, -- MediaWiki doesn't use exonym so here we provide correct language name and 639-1 code | |||
['bhojpuri'] = {'Bhojpuri', 'bho'}, -- MediaWiki uses 'bh' as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org | |||
['bihari'] = {'Bihari', 'bh'}, -- MediaWiki replaces 'Bihari' with 'Bhojpuri' so 'Bihari' cannot be found | |||
['blackfoot'] = {'Blackfoot', 'bla'}, -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name | |||
['colognian'] = {'Colognian', 'ksh-x-colog'}, -- MediaWiki preferred name for ksh | |||
['crimean tatar'] = {'Crimean Tatar', 'crh'}, -- MediaWiki uses 'crh' as a subdomain name for Crimean Tatar Wikipedia: crh.wikipedia.org | |||
['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | |||
['kolsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö) | |||
['kölsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name | |||
['ripuarian'] = {'Ripuarian', 'mis-x-ripuar'}, -- group of dialects; no code in MediaWiki or in IANA/ISO 639 | |||
-- ['siksika'] = {'Siksika', 'bla'}, -- MediaWiki/IANA/ISO 639 preferred name: Siksika | |||
['taiwanese hokkien'] = {'Taiwanese Hokkien', 'nan-TW'}, -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese | |||
['tosk albanian'] = {'Tosk Albanian', 'als'}, -- MediaWiki replaces 'Tosk Albanian' with 'Alemannisch' so 'Tosk Albanian' cannot be found | |||
['valencian'] = {'Valencian', 'ca'}, -- variant of Catalan; categorizes as Catalan | |||
} | |||
--[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- | --[[--------------------------< M A I N T E N A N C E _ C A T E G O R I E S >---------------------------------- | ||
Line 531: | Line 797: | ||
local maint_cats = { | local maint_cats = { | ||
['ASIN'] = 'CS1 maint: ASIN uses ISBN', | ['ASIN'] = 'CS1 maint: ASIN uses ISBN', | ||
['archived_copy'] = 'CS1 maint: | ['archived_copy'] = 'CS1 maint: archived copy as title', | ||
['authors'] = 'CS1 maint: | ['authors'] = 'CS1 maint: uses authors parameter', | ||
['bot:_unknown'] = 'CS1 maint: BOT: original-url status unknown', | ['bot:_unknown'] = 'CS1 maint: BOT: original-url status unknown', | ||
['date_format'] = 'CS1 maint: | ['date_format'] = 'CS1 maint: date format', | ||
['date_year'] = 'CS1 maint: | ['date_year'] = 'CS1 maint: date and year', | ||
[' | ['disp_name'] = 'CS1 maint: display-$1', -- $1 is 'authors', 'contributors', 'editors', 'interviewers', 'translators'; gets value from special_case_translation table | ||
['editors'] = 'CS1 maint: | ['editors'] = 'CS1 maint: uses editors parameter', | ||
['embargo'] = 'CS1 maint: PMC embargo expired', | ['embargo'] = 'CS1 maint: PMC embargo expired', | ||
[' | ['extra_punct'] = 'CS1 maint: extra punctuation', | ||
['extra_text'] = 'CS1 maint: extra text', | |||
['extra_text'] = 'CS1 maint: | ['extra_text_names'] = 'CS1 maint: extra text: $1', -- $1 is '<name>s list'; gets value from special_case_translation table | ||
['extra_text_names'] = 'CS1 maint: | ['ignore_isbn_err'] = 'CS1 maint: ignored ISBN errors', | ||
['ignore_isbn_err'] = 'CS1 maint: | ['location'] = 'CS1 maint: location', | ||
[' | ['mult_names'] = 'CS1 maint: multiple names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table | ||
[' | ['numeric_names'] = 'CS1 maint: numeric names: $1', -- $1 is '<name>s list'; gets value from special_case_translation table | ||
[' | ['others'] = 'CS1 maint: others', | ||
['pmc_format'] = 'CS1 maint: PMC format', | ['pmc_format'] = 'CS1 maint: PMC format', | ||
['unfit'] = 'CS1 maint: | ['ref_harv'] = 'CS1 maint: ref=harv', | ||
['unknown_lang'] = 'CS1 maint: | ['unfit'] = 'CS1 maint: unfit url', | ||
['untitled'] = 'CS1 maint: | ['unknown_lang'] = 'CS1 maint: unrecognized language', | ||
['untitled'] = 'CS1 maint: untitled periodical', | |||
['zbl'] = 'CS1 maint: ZBL', | |||
} | } | ||
Line 561: | Line 829: | ||
local prop_cats = { | local prop_cats = { | ||
['foreign_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is language name, $2 is ISO639-1 code | ['foreign_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code | ||
['foreign_lang_source_2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code | ['foreign_lang_source_2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key | ||
['local_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false | |||
['location test'] = 'CS1 location test', | |||
['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | ['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | ||
['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ||
['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 | ['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 | ||
['long_vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 charachters | |||
} | } | ||
Line 585: | Line 856: | ||
['techreport'] = 'Technical report', | ['techreport'] = 'Technical report', | ||
['thesis'] = 'Thesis', | ['thesis'] = 'Thesis', | ||
} | |||
--[[=========================<< E R R O R M E S S A G I N G >>=============================================== | |||
]] | |||
--[[--------------------------< E R R O R M E S S A G E S U P P L I M E N T S >---------------------------- | |||
i18n for those messages that are supplimented with additional specific text that describes the reason for | |||
the error | |||
TODO: merge this with special_case_translations{}? | |||
]] | |||
local err_msg_supl = { | |||
['char'] = 'invalid character', -- isbn, sbn | |||
['check'] = 'checksum', -- isbn, sbn | |||
['flag'] = 'flag', -- archive-url | |||
['form'] = 'invalid form', -- isbn, sbn | |||
['group'] = 'invalid group id', -- isbn | |||
['initials'] = 'initials', -- vancouver | |||
['journal'] = 'journal', -- bibcode | |||
['length'] = 'length', -- isbn, bibcode, sbn | |||
['liveweb'] = 'liveweb', -- archive-url | |||
['missing comma'] = 'missing comma', -- vancouver | |||
['name'] = 'name', -- vancouver | |||
['non-Latin char'] = 'non-Latin character', -- vancouver | |||
['path'] = 'path', -- archive-url | |||
['prefix'] = 'invalid prefix', -- isbn | |||
['punctuation'] = 'punctuation', -- vancouver | |||
['save'] = 'save command', -- archive-url | |||
['suffix'] = 'suffix', -- vancouver | |||
['timestamp'] = 'timestamp', -- archive-url | |||
['value'] = 'value', -- bibcode | |||
['year'] = 'year', -- bibcode | |||
} | } | ||
Line 604: | Line 912: | ||
anchor = 'accessdate_missing_url', | anchor = 'accessdate_missing_url', | ||
category = 'Pages using citations with accessdate and no URL', | category = 'Pages using citations with accessdate and no URL', | ||
hidden = false | |||
}, | |||
apostrophe_markup = { | |||
message = 'Italic or bold markup not allowed in: <code class="cs1-code">|$1=</code>', -- $1 is parameter name | |||
anchor = 'apostrophe_markup', | |||
category = 'CS1 errors: markup', | |||
hidden = false | hidden = false | ||
}, | }, | ||
Line 619: | Line 933: | ||
}, | }, | ||
archive_url = { | archive_url = { | ||
message = '<code class="cs1-code">|archive-url=</code> is malformed: $1', | message = '<code class="cs1-code">|archive-url=</code> is malformed: $1', -- $1 is error message detail | ||
anchor = 'archive_url', | anchor = 'archive_url', | ||
category = 'Pages with archiveurl citation errors', | category = 'Pages with archiveurl citation errors', | ||
Line 649: | Line 963: | ||
}, | }, | ||
bad_bibcode = { | bad_bibcode = { | ||
message = 'Check <code class="cs1-code">|bibcode=</code> $1', | message = 'Check <code class="cs1-code">|bibcode=</code> $1', -- $1 is error message detail | ||
anchor = 'bad_bibcode', | anchor = 'bad_bibcode', | ||
category = 'CS1 errors: bibcode', | category = 'CS1 errors: bibcode', | ||
Line 667: | Line 981: | ||
}, | }, | ||
bad_date = { | bad_date = { | ||
message = 'Check date values in: <code class="cs1-code">$1</code>', | message = 'Check date values in: <code class="cs1-code">$1</code>', -- $1 is parameter name | ||
anchor = 'bad_date', | anchor = 'bad_date', | ||
category = 'CS1 errors: dates', | category = 'CS1 errors: dates', | ||
Line 685: | Line 999: | ||
}, | }, | ||
bad_isbn = { | bad_isbn = { | ||
message = 'Check <code class="cs1-code">|isbn=</code> value: $1', | message = 'Check <code class="cs1-code">|isbn=</code> value: $1', -- $1 is error message detail | ||
anchor = 'bad_isbn', | anchor = 'bad_isbn', | ||
category = 'CS1 errors: ISBN', | category = 'CS1 errors: ISBN', | ||
Line 697: | Line 1,011: | ||
}, | }, | ||
bad_issn = { | bad_issn = { | ||
message = 'Check <code class="cs1-code">|$1issn=</code> value', | message = 'Check <code class="cs1-code">|$1issn=</code> value', -- $1 is 'e' or '' for eissn or issn | ||
anchor = 'bad_issn', | anchor = 'bad_issn', | ||
category = 'CS1 errors: ISSN', | category = 'CS1 errors: ISSN', | ||
Line 733: | Line 1,047: | ||
}, | }, | ||
bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= | bad_paramlink = { -- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link= | ||
message = 'Check <code class="cs1-code">|$1=</code> value', | message = 'Check <code class="cs1-code">|$1=</code> value', -- $1 is parameter name | ||
anchor = 'bad_paramlink', | anchor = 'bad_paramlink', | ||
category = 'CS1 errors: parameter link', | category = 'CS1 errors: parameter link', | ||
Line 754: | Line 1,068: | ||
anchor = 'bad_oclc', | anchor = 'bad_oclc', | ||
category = 'CS1 errors: OCLC', | category = 'CS1 errors: OCLC', | ||
hidden = false | |||
}, | |||
bad_s2cid = { | |||
message = 'Check <code class="cs1-code">|s2cid=</code> value', | |||
anchor = 'bad_s2cid', | |||
category = 'CS1 errors: S2CID', | |||
hidden = false | |||
}, | |||
bad_sbn = { | |||
message = 'Check <code class="cs1-code">|sbn=</code> value: $1', -- $1 is error message detail | |||
anchor = 'bad_sbn', | |||
category = 'CS1 errors: SBN', | |||
hidden = false | hidden = false | ||
}, | }, | ||
Line 763: | Line 1,089: | ||
}, | }, | ||
bad_url = { | bad_url = { | ||
message = 'Check $1 value', | message = 'Check $1 value', -- $1 is parameter name | ||
anchor = 'bad_url', | anchor = 'bad_url', | ||
category = 'Pages with URL errors', | category = 'Pages with URL errors', | ||
Line 775: | Line 1,101: | ||
}, | }, | ||
bare_url_missing_title = { | bare_url_missing_title = { | ||
message = '$1 missing title', | message = '$1 missing title', -- $1 is parameter name | ||
anchor = 'bare_url_missing_title', | anchor = 'bare_url_missing_title', | ||
category = 'Pages with citations having bare URLs', | category = 'Pages with citations having bare URLs', | ||
Line 787: | Line 1,113: | ||
}, | }, | ||
chapter_ignored = { | chapter_ignored = { | ||
message = '<code class="cs1-code">|$1=</code> ignored', | message = '<code class="cs1-code">|$1=</code> ignored', -- $1 is parameter name | ||
anchor = 'chapter_ignored', | anchor = 'chapter_ignored', | ||
category = 'CS1 errors: chapter ignored', | category = 'CS1 errors: chapter ignored', | ||
Line 793: | Line 1,119: | ||
}, | }, | ||
citation_missing_title = { | citation_missing_title = { | ||
message = 'Missing or empty <code class="cs1-code">|$1=</code>', | message = 'Missing or empty <code class="cs1-code">|$1=</code>', -- $1 is parameter name | ||
anchor = 'citation_missing_title', | anchor = 'citation_missing_title', | ||
category = 'Pages with citations lacking titles', | category = 'Pages with citations lacking titles', | ||
Line 823: | Line 1,149: | ||
}, | }, | ||
contributor_missing_required_param = { | contributor_missing_required_param = { | ||
message = '<code class="cs1-code">|contributor=</code> requires <code class="cs1-code">|$1=</code>', | message = '<code class="cs1-code">|contributor=</code> requires <code class="cs1-code">|$1=</code>', -- $1 is parameter name | ||
anchor = 'contributor_missing_required_param', | anchor = 'contributor_missing_required_param', | ||
category = 'CS1 errors: contributor', | category = 'CS1 errors: contributor', | ||
Line 829: | Line 1,155: | ||
}, | }, | ||
deprecated_params = { | deprecated_params = { | ||
message = 'Cite uses deprecated parameter <code class="cs1-code">|$1=</code>', | message = 'Cite uses deprecated parameter <code class="cs1-code">|$1=</code>', -- $1 is parameter name | ||
anchor = 'deprecated_params', | anchor = 'deprecated_params', | ||
category = 'CS1 errors: deprecated parameters', | category = 'CS1 errors: deprecated parameters', | ||
hidden = false | |||
}, | |||
doibroken_missing_doi = { | |||
message = '<code class="cs1-code">|$1=</code> requires <code class="cs1-code">|doi=</code>', -- $1 is parameter name | |||
anchor = 'doibroken_missing_doi', | |||
category = 'CS1 errors: DOI', | |||
hidden = false | hidden = false | ||
}, | }, | ||
Line 838: | Line 1,170: | ||
anchor = 'empty_citation', | anchor = 'empty_citation', | ||
category = 'Pages with empty citations', | category = 'Pages with empty citations', | ||
hidden = false | |||
}, | |||
etal = { | |||
message = 'Explicit use of et al. in: <code class="cs1-code">|$1=</code>', -- $1 is parameter name | |||
anchor = 'explicit_et_al', | |||
category = 'CS1 errors: explicit use of et al.', | |||
hidden = false | hidden = false | ||
}, | }, | ||
first_missing_last = { | first_missing_last = { | ||
message = '<code class="cs1-code">| | message = '<code class="cs1-code">|$1=</code> missing <code class="cs1-code">|$2=</code>', -- $1 is first alias, $2 is matching last alias | ||
anchor = 'first_missing_last', | anchor = 'first_missing_last', | ||
category = 'CS1 errors: missing author | category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | ||
hidden = false | hidden = false | ||
}, | }, | ||
format_missing_url = { | format_missing_url = { | ||
message = '<code class="cs1-code">|$1=</code> requires <code class="cs1-code">|$2=</code>', | message = '<code class="cs1-code">|$1=</code> requires <code class="cs1-code">|$2=</code>', -- $1 is format parameter $2 is url parameter | ||
anchor = 'format_missing_url', | anchor = 'format_missing_url', | ||
category = 'Pages using citations with format and no URL', | category = 'Pages using citations with format and no URL', | ||
Line 853: | Line 1,191: | ||
}, | }, | ||
invalid_param_val = { | invalid_param_val = { | ||
message = 'Invalid <code class="cs1-code">|$1=$2</code>', | message = 'Invalid <code class="cs1-code">|$1=$2</code>', -- $1 is parameter name $2 is paramter value | ||
anchor = 'invalid_param_val', | anchor = 'invalid_param_val', | ||
category = 'CS1 errors: invalid parameter value', | category = 'CS1 errors: invalid parameter value', | ||
Line 859: | Line 1,197: | ||
}, | }, | ||
invisible_char = { | invisible_char = { | ||
message = '$1 in $2 at position $3', | message = '$1 in $2 at position $3', -- $1 is invisible char $2 is parameter name $3 is position number | ||
anchor = 'invisible_char', | anchor = 'invisible_char', | ||
category = 'CS1 errors: invisible characters', | category = 'CS1 errors: invisible characters', | ||
Line 865: | Line 1,203: | ||
}, | }, | ||
missing_name = { | missing_name = { | ||
message = 'Missing <code class="cs1-code">| | message = 'Missing <code class="cs1-code">|$1$2=</code>', -- $1 is modified NameList; $2 is enumerator | ||
anchor = 'missing_name', | anchor = 'missing_name', | ||
category = 'CS1 errors: missing author | category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | ||
hidden = false | |||
}, | |||
missing_periodical = { | |||
message = 'Cite $1 requires <code class="cs1-code">|$2=</code>', -- $1 is cs1 template name; $2 is canonical periodical parameter name for cite $1 | |||
anchor = 'missing_periodical', | |||
category = 'CS1 errors: missing periodical', | |||
hidden = true | |||
}, | |||
missing_pipe = { | |||
message = 'Missing pipe in: <code class="cs1-code">|$1=</code>', -- $1 is parameter name | |||
anchor = 'missing_pipe', | |||
category = 'CS1 errors: missing pipe', | |||
hidden = false | hidden = false | ||
}, | }, | ||
param_access_requires_param = { | param_access_requires_param = { | ||
message = '<code class="cs1-code">|$1-access=</code> requires <code class="cs1-code">|$1=</code>', | message = '<code class="cs1-code">|$1-access=</code> requires <code class="cs1-code">|$1=</code>', -- $1 is parameter name | ||
anchor = 'param_access_requires_param', | anchor = 'param_access_requires_param', | ||
category = 'CS1 errors: param-access', | category = 'CS1 errors: param-access', | ||
Line 877: | Line 1,227: | ||
}, | }, | ||
param_has_ext_link = { | param_has_ext_link = { | ||
message = 'External link in <code class="cs1-code">$1</code>', | message = 'External link in <code class="cs1-code">$1</code>', -- $1 is parameter name | ||
anchor = 'param_has_ext_link', | anchor = 'param_has_ext_link', | ||
category = 'CS1 errors: external links', | category = 'CS1 errors: external links', | ||
Line 883: | Line 1,233: | ||
}, | }, | ||
parameter_ignored = { | parameter_ignored = { | ||
message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored', | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored', -- $1 is parameter name | ||
anchor = 'parameter_ignored', | anchor = 'parameter_ignored', | ||
category = 'Pages with citations using unsupported parameters', | category = 'Pages with citations using unsupported parameters', | ||
Line 889: | Line 1,239: | ||
}, | }, | ||
parameter_ignored_suggest = { | parameter_ignored_suggest = { | ||
message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored (<code class="cs1-code">|$2=</code> suggested)', | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored (<code class="cs1-code">|$2=</code> suggested)', -- $1 is unknown paramter $2 is suggested parameter name | ||
anchor = 'parameter_ignored_suggest', | anchor = 'parameter_ignored_suggest', | ||
category = 'Pages with citations using unsupported parameters', | category = 'Pages with citations using unsupported parameters', | ||
Line 895: | Line 1,245: | ||
}, | }, | ||
redundant_parameters = { | redundant_parameters = { | ||
message = 'More than one of $1 specified', | message = 'More than one of $1 specified', -- $1 is error message detail | ||
anchor = 'redundant_parameters', | anchor = 'redundant_parameters', | ||
category = 'Pages with citations having redundant parameters', | category = 'Pages with citations having redundant parameters', | ||
hidden = false | |||
}, | |||
script_parameter = { | |||
message = 'Invalid <code class="cs1-code">|$1=</code>: $2', -- $1 is parameter name $2 is script language code or error detail | |||
anchor = 'script_parameter', | |||
category = 'CS1 errors: script parameters', | |||
hidden = false | |||
}, | |||
ssrn_missing = { | |||
message = '<code class="cs1-code">|ssrn=</code> required', | |||
anchor = 'ssrn_missing', | |||
category = 'CS1 errors: ssrn', -- same as bad arxiv | |||
hidden = false | hidden = false | ||
}, | }, | ||
text_ignored = { | text_ignored = { | ||
message = 'Text "$1" ignored', | message = 'Text "$1" ignored', -- $1 is ignored text | ||
anchor = 'text_ignored', | anchor = 'text_ignored', | ||
category = 'Pages with citations using unnamed parameters', | category = 'Pages with citations using unnamed parameters', | ||
Line 907: | Line 1,269: | ||
}, | }, | ||
trans_missing_title = { | trans_missing_title = { | ||
message = '<code class="cs1-code">|trans-$1=</code> requires <code class="cs1-code">|$1=</code>', | message = '<code class="cs1-code">|trans-$1=</code> requires <code class="cs1-code">|$1=</code>', -- $1 is base parameter name | ||
anchor = 'trans_missing_title', | anchor = 'trans_missing_title', | ||
category = 'CS1 errors: translated title', | category = 'CS1 errors: translated title', | ||
Line 913: | Line 1,275: | ||
}, | }, | ||
vancouver = { | vancouver = { | ||
message = 'Vancouver style error: $1', | message = 'Vancouver style error: $1', -- $1 is error detail | ||
anchor = 'vancouver', | anchor = 'vancouver', | ||
category = 'CS1 errors: Vancouver style', | category = 'CS1 errors: Vancouver style', | ||
Line 924: | Line 1,286: | ||
hidden = false | hidden = false | ||
}, | }, | ||
} | |||
--[[--------------------------< I D _ L I M I T S >------------------------------------------------------------ | |||
certain identifiers have limits set upon their values so that typographic errors may be detected. These (max) | |||
limits are defined here so that those limits may be automatically included in the template documentation and error | |||
message help text. | |||
]] | |||
local id_limits = { | |||
pmc = 7500000, -- |pmc= | |||
pmid = 33000000, -- |pmid= | |||
ssrn = 4000000, -- |ssrn= | |||
s2cid = 230000000, -- |s2cid= | |||
} | } | ||
Line 932: | Line 1,310: | ||
variety of information necessary to properly render the identifier in the citation. | variety of information necessary to properly render the identifier in the citation. | ||
parameters: a list of parameter aliases for this identifier | parameters: a list of parameter aliases for this identifier; first in the list is the canonical form | ||
link: Wikipedia article name | link: Wikipedia article name | ||
redirect: a local redirect to a local Wikipedia article name; at en.wiki, 'ISBN (identifier)' is a redirect to 'International Standard Book Number' | |||
q: wikidata q number for the identifier | q: wikidata q number for the identifier | ||
label: the | label: the label preceeding the identifier; label is linked to a wikipedia article (in this order): | ||
redirect from id_handlers['<id>'].redirect when use_identifier_redirects is true | |||
wikidata-supplied article name for the local wiki from id_handlers['<id>'].q | |||
local article name from id_handlers['<id>'].link | |||
mode: 'manual' when there is a specific function in the code to handle the identifier; | mode: 'manual' when there is a specific function in the code to handle the identifier; | ||
'external' for identifiers that link outside of Wikipedia; | 'external' for identifiers that link outside of Wikipedia; | ||
Line 955: | Line 1,337: | ||
['ARXIV'] = { | ['ARXIV'] = { | ||
parameters = {'arxiv', 'eprint'}, | parameters = {'arxiv', 'eprint'}, | ||
link = ' | link = 'arXiv', | ||
redirect = 'arXiv (identifier)', | |||
q = 'Q118398', | q = 'Q118398', | ||
label = 'arXiv', | label = 'arXiv', | ||
Line 967: | Line 1,350: | ||
['ASIN'] = { | ['ASIN'] = { | ||
parameters = { 'asin', 'ASIN' }, | parameters = { 'asin', 'ASIN' }, | ||
link = ' | link = 'Amazon Standard Identification Number', | ||
redirect = 'ASIN (identifier)', | |||
q = 'Q1753278', | q = 'Q1753278', | ||
label = 'ASIN', | label = 'ASIN', | ||
Line 978: | Line 1,362: | ||
['BIBCODE'] = { | ['BIBCODE'] = { | ||
parameters = {'bibcode'}, | parameters = {'bibcode'}, | ||
link = ' | link = 'Bibcode', | ||
redirect = 'Bibcode (identifier)', | |||
q = 'Q25754', | q = 'Q25754', | ||
label = 'Bibcode', | label = 'Bibcode', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = ' | prefix = 'https://ui.adsabs.harvard.edu/abs/', | ||
encode = false, | encode = false, | ||
COinS = 'info:bibcode', | COinS = 'info:bibcode', | ||
Line 990: | Line 1,375: | ||
['BIORXIV'] = { | ['BIORXIV'] = { | ||
parameters = {'biorxiv'}, | parameters = {'biorxiv'}, | ||
link = ' | link = 'bioRxiv', | ||
redirect = 'bioRxiv (identifier)', | |||
q = 'Q19835482', | q = 'Q19835482', | ||
label = 'bioRxiv', | label = 'bioRxiv', | ||
Line 1,002: | Line 1,388: | ||
['CITESEERX'] = { | ['CITESEERX'] = { | ||
parameters = {'citeseerx'}, | parameters = {'citeseerx'}, | ||
link = ' | link = 'CiteSeerX', | ||
redirect = 'CiteSeerX (identifier)', | |||
q = 'Q2715061', | q = 'Q2715061', | ||
label = 'CiteSeerX', | label = 'CiteSeerX', | ||
Line 1,012: | Line 1,399: | ||
separator = ' ', | separator = ' ', | ||
}, | }, | ||
['DOI'] = { | ['DOI'] = { -- Used by InternetArchiveBot | ||
parameters = { 'doi', 'DOI' }, | parameters = { 'doi', 'DOI' }, | ||
link = ' | link = 'Digital object identifier', | ||
redirect = 'doi (identifier)', | |||
q = 'Q25670', | q = 'Q25670', | ||
label = 'doi', | label = 'doi', | ||
Line 1,026: | Line 1,414: | ||
['EISSN'] = { | ['EISSN'] = { | ||
parameters = {'eissn', 'EISSN'}, | parameters = {'eissn', 'EISSN'}, | ||
link = ' | link = 'International_Standard_Serial_Number#Electronic_ISSN', | ||
redirect = 'eISSN (identifier)', | |||
q = 'Q46339674', | q = 'Q46339674', | ||
label = 'eISSN', | label = 'eISSN', | ||
Line 1,037: | Line 1,426: | ||
['HDL'] = { | ['HDL'] = { | ||
parameters = { 'hdl', 'HDL' }, | parameters = { 'hdl', 'HDL' }, | ||
link = ' | link = 'Handle System', | ||
redirect = 'hdl (identifier)', | |||
q = 'Q3126718', | q = 'Q3126718', | ||
label = 'hdl', | label = 'hdl', | ||
Line 1,047: | Line 1,437: | ||
custom_access = 'hdl-access', | custom_access = 'hdl-access', | ||
}, | }, | ||
['ISBN'] = { | ['ISBN'] = { -- Used by InternetArchiveBot | ||
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, | parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, | ||
link = ' | link = 'International Standard Book Number', | ||
redirect = 'ISBN (identifier)', | |||
q = 'Q33057', | q = 'Q33057', | ||
label = 'ISBN', | label = 'ISBN', | ||
Line 1,059: | Line 1,450: | ||
['ISMN'] = { | ['ISMN'] = { | ||
parameters = {'ismn', 'ISMN'}, | parameters = {'ismn', 'ISMN'}, | ||
link = ' | link = 'International Standard Music Number', | ||
redirect = 'ISMN (identifier)', | |||
q = 'Q1666938', | q = 'Q1666938', | ||
label = 'ISMN', | label = 'ISMN', | ||
Line 1,069: | Line 1,461: | ||
['ISSN'] = { | ['ISSN'] = { | ||
parameters = {'issn', 'ISSN'}, | parameters = {'issn', 'ISSN'}, | ||
link = ' | link = 'International Standard Serial Number', | ||
redirect = 'ISSN (identifier)', | |||
q = 'Q131276', | q = 'Q131276', | ||
label = 'ISSN', | label = 'ISSN', | ||
Line 1,080: | Line 1,473: | ||
['JFM'] = { | ['JFM'] = { | ||
parameters = {'jfm', 'JFM'}, | parameters = {'jfm', 'JFM'}, | ||
link = ' | link = 'Jahrbuch über die Fortschritte der Mathematik', | ||
redirect = 'JFM (identifier)', | |||
q = '', | q = '', | ||
label = 'JFM', | label = 'JFM', | ||
Line 1,091: | Line 1,485: | ||
['JSTOR'] = { | ['JSTOR'] = { | ||
parameters = {'jstor', 'JSTOR'}, | parameters = {'jstor', 'JSTOR'}, | ||
link = ' | link = 'JSTOR', | ||
redirect = 'JSTOR (identifier)', | |||
q = 'Q1420342', | q = 'Q1420342', | ||
label = 'JSTOR', | label = 'JSTOR', | ||
Line 1,102: | Line 1,497: | ||
}, | }, | ||
['LCCN'] = { | ['LCCN'] = { | ||
parameters = {' | parameters = {'lccn', 'LCCN'}, | ||
link = ' | link = 'Library of Congress Control Number', | ||
redirect = 'LCCN (identifier)', | |||
q = 'Q620946', | q = 'Q620946', | ||
label = 'LCCN', | label = 'LCCN', | ||
Line 1,113: | Line 1,509: | ||
}, | }, | ||
['MR'] = { | ['MR'] = { | ||
parameters = {' | parameters = {'mr', 'MR'}, | ||
link = ' | link = 'Mathematical Reviews', | ||
redirect = 'MR (identifier)', | |||
q = 'Q211172', | q = 'Q211172', | ||
label = 'MR', | label = 'MR', | ||
Line 1,124: | Line 1,521: | ||
}, | }, | ||
['OCLC'] = { | ['OCLC'] = { | ||
parameters = {' | parameters = {'oclc', 'OCLC'}, | ||
link = ' | link = 'OCLC', | ||
redirect = 'OCLC (identifier)', | |||
q = 'Q190593', | q = 'Q190593', | ||
label = 'OCLC', | label = 'OCLC', | ||
Line 1,136: | Line 1,534: | ||
['OL'] = { | ['OL'] = { | ||
parameters = { 'ol', 'OL' }, | parameters = { 'ol', 'OL' }, | ||
link = ' | link = 'Open Library', | ||
redirect = 'OL (identifier)', | |||
q = 'Q1201876', | q = 'Q1201876', | ||
label = 'OL', | label = 'OL', | ||
Line 1,147: | Line 1,546: | ||
}, | }, | ||
['OSTI'] = { | ['OSTI'] = { | ||
parameters = {' | parameters = {'osti', 'OSTI'}, | ||
link = ' | link = 'Office of Scientific and Technical Information', | ||
redirect = 'OSTI (identifier)', | |||
q = 'Q2015776', | q = 'Q2015776', | ||
label = 'OSTI', | label = 'OSTI', | ||
Line 1,159: | Line 1,559: | ||
}, | }, | ||
['PMC'] = { | ['PMC'] = { | ||
parameters = {' | parameters = {'pmc', 'PMC'}, | ||
link = ' | link = 'PubMed Central', | ||
redirect = 'PMC (identifier)', | |||
q = 'Q229883', | q = 'Q229883', | ||
label = 'PMC', | label = 'PMC', | ||
Line 1,172: | Line 1,573: | ||
}, | }, | ||
['PMID'] = { | ['PMID'] = { | ||
parameters = {' | parameters = {'pmid', 'PMID'}, | ||
link = ' | link = 'PubMed Identifier', | ||
redirect = 'PMID (identifier)', | |||
q = '', | q = '', | ||
label = 'PMID', | label = 'PMID', | ||
mode = 'manual', | mode = 'manual', | ||
prefix = '// | prefix = '//pubmed.ncbi.nlm.nih.gov/', | ||
COinS = 'info:pmid', | COinS = 'info:pmid', | ||
encode = false, | encode = false, | ||
Line 1,183: | Line 1,585: | ||
}, | }, | ||
['RFC'] = { | ['RFC'] = { | ||
parameters = {' | parameters = {'rfc', 'RFC'}, | ||
link = ' | link = 'Request for Comments', | ||
redirect = 'RFC (identifier)', | |||
q = 'Q212971', | q = 'Q212971', | ||
label = 'RFC', | label = 'RFC', | ||
Line 1,193: | Line 1,596: | ||
separator = ' ', | separator = ' ', | ||
access = 'free', -- free to read | access = 'free', -- free to read | ||
}, | |||
['SBN'] = { | |||
parameters = {'sbn', 'SBN'}, | |||
link = 'Standard Book Number', -- redirect to International_Standard_Book_Number#History | |||
redirect = 'SBN (identifier)', | |||
label = 'SBN', | |||
mode = 'manual', | |||
prefix = 'Special:BookSources/0-', -- prefix has leading zero necessary to make 9-digit sbn a 10-digit isbn | |||
COinS = nil, -- nil because we can't use pre or rft or info: | |||
separator = ' ', | |||
}, | }, | ||
['SSRN'] = { | ['SSRN'] = { | ||
parameters = {' | parameters = {'ssrn', 'SSRN'}, | ||
link = ' | link = 'Social Science Research Network', | ||
redirect = 'SSRN (identifier)', | |||
q = 'Q7550801', | q = 'Q7550801', | ||
label = 'SSRN', | label = 'SSRN', | ||
Line 1,205: | Line 1,619: | ||
separator = ' ', | separator = ' ', | ||
access = 'free', -- always free to read | access = 'free', -- always free to read | ||
}, | |||
['S2CID'] = { | |||
parameters = {'s2cid', 'S2CID'}, | |||
link = 'Semantic Scholar', | |||
redirect = 'S2CID (identifier)', | |||
q = 'Q22908627', | |||
label = 'S2CID', | |||
mode = 'manual', | |||
prefix = 'https://api.semanticscholar.org/CorpusID:', | |||
COinS = 'pre', -- use prefix value | |||
encode = false, | |||
separator = ' ', | |||
custom_access = 's2cid-access', | |||
}, | }, | ||
['USENETID'] = { | ['USENETID'] = { | ||
parameters = {'message-id'}, | parameters = {'message-id'}, | ||
link = ' | link = 'Usenet', | ||
redirect = 'Usenet (identifier)', | |||
q = 'Q193162', | q = 'Q193162', | ||
label = 'Usenet:', | label = 'Usenet:', | ||
Line 1,218: | Line 1,646: | ||
}, | }, | ||
['ZBL'] = { | ['ZBL'] = { | ||
parameters = {' | parameters = {'zbl', 'ZBL' }, | ||
link = ' | link = 'Zentralblatt MATH', | ||
redirect = 'Zbl (identifier)', | |||
q = 'Q190269', | q = 'Q190269', | ||
label = 'Zbl', | label = 'Zbl', | ||
Line 1,235: | Line 1,664: | ||
return { | return { | ||
use_identifier_redirects = true, -- when true use redirect name for identifier label links | |||
aliases = aliases, | aliases = aliases, | ||
special_case_translation = special_case_translation, | special_case_translation = special_case_translation, | ||
date_names = date_names, | date_names = date_names, | ||
err_msg_supl = err_msg_supl, | |||
error_conditions = error_conditions, | error_conditions = error_conditions, | ||
editor_markup_patterns = editor_markup_patterns, | |||
et_al_patterns = et_al_patterns, | |||
global_df = global_df, | |||
id_handlers = id_handlers, | id_handlers = id_handlers, | ||
id_limits = id_limits, | |||
keywords_lists = keywords_lists, | |||
keywords_xlate = keywords_xlate, | |||
stripmarkers=stripmarkers, | stripmarkers=stripmarkers, | ||
invisible_chars = invisible_chars, | invisible_chars = invisible_chars, | ||
indic_script = indic_script, | indic_script = indic_script, | ||
local_lang_cat_enable = local_lang_cat_enable, | |||
maint_cats = maint_cats, | maint_cats = maint_cats, | ||
messages = messages, | messages = messages, | ||
presentation = presentation, | presentation = presentation, | ||
prop_cats = prop_cats, | prop_cats = prop_cats, | ||
punct_skip = punct_skip, | |||
script_lang_codes = script_lang_codes, | script_lang_codes = script_lang_codes, | ||
lang_code_remap = lang_code_remap, | lang_code_remap = lang_code_remap, | ||
lang_name_remap = lang_name_remap, | lang_name_remap = lang_name_remap, | ||
this_wiki_code = this_wiki_code, | |||
title_types = title_types, | title_types = title_types, | ||
uncategorized_namespaces = uncategorized_namespaces, | uncategorized_namespaces = uncategorized_namespaces, |