Jump to content

Module:Citation/CS1/Configuration: Difference between revisions

Synch from sandbox;
m>Trappist the monk
(Synch from sandbox;)
m>Trappist the monk
(Synch from sandbox;)
Line 1: Line 1:
citation_config = {};
citation_config = {};
-- override <code>...</code> styling to remove color, border, and padding.  <code> css is specified here:
-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";


--[[
--[[
Line 58: Line 62:
   ['quoted-text'] = '"$1"',
   ['quoted-text'] = '"$1"',


   ['parameter'] = '<code>&#124;$1=</code>',
   ['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
   ['parameter-separator'] = ', ',
   ['parameter-separator'] = ', ',
   ['parameter-final-separator'] = ', and ',
   ['parameter-final-separator'] = ', and ',
Line 64: Line 68:


   -- Error output
   -- Error output
  -- .error class is specified at https://git.wikimedia.org/blob/mediawiki%2Fcore.git/9553bd02a5595da05c184f7521721fb1b79b3935/skins%2Fcommon%2Fshared.css#L538
  -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display
   ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
   ['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
   ['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
   ['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
Line 81: Line 87:
-- Aliases table for commonly passed parameters
-- Aliases table for commonly passed parameters
citation_config.aliases = {
citation_config.aliases = {
    ['AccessDate'] = 'accessdate',
['AccessDate'] = {'access-date', 'accessdate'},
    ['Agency'] = 'agency',
['Agency'] = 'agency',
    ['AirDate'] = 'airdate',
['AirDate'] = {'air-date', 'airdate'},
    ['ArchiveDate'] = {'archive-date', 'archivedate' },
['ArchiveDate'] = {'archive-date', 'archivedate'},
    ['ArchiveURL'] = {'archive-url', 'archiveurl' },
['ArchiveURL'] = {'archive-url', 'archiveurl'},
    ['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
['ASINTLD'] = {'ASIN-TLD', 'asin-tld'},
    ['At'] = 'at',
['At'] = 'at',
    ['Authors'] = {'authors', 'people', 'host'},
['Authors'] = {'authors', 'people', 'host'},
    ['AuthorFormat'] = {"author-format", "authorformat" },
['AuthorFormat'] = {'author-format', 'authorformat'},
    ['AuthorSeparator'] = 'author-separator',
['AuthorSeparator'] = 'author-separator',
    ['AuthorNameSeparator'] = 'author-name-separator',
['AuthorNameSeparator'] = 'author-name-separator',
    ['BookTitle'] = 'booktitle',
['BookTitle'] = {'book-title', 'booktitle'},
['Callsign'] = 'callsign', -- cite interview
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview
    ['Cartography'] = 'cartography',
['Cartography'] = 'cartography',
    ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated used by old cite AV media notes; remove after 1 October 2014;
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated; remove after 1 October 2014; used by old cite AV media notes
    ['ChapterLink'] = 'chapterlink',
['ChapterLink'] = {'chapter-link', 'chapterlink'},
    ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
['City'] = 'city', -- cite interview
['City'] = 'city', -- cite interview
    ['Coauthors'] = {'coauthors', 'coauthor' },
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 October 2014
    ['Cointerviewers'] = 'cointerviewers', -- cite interview
['Cointerviewers'] = 'cointerviewers', -- cointerviewers is deprecated; remove after 1 October 2014; used by cite interview
    ['Conference'] = {'conference', 'event' },
['Conference'] = {'conference', 'event'},
    ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'eventurl' },
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
    ['Date'] = 'date',
['Date'] = 'date',
    ['Day'] = 'day',
['Day'] = 'day',
    ['DeadURL'] = 'deadurl',
['DeadURL'] = {'dead-url', 'deadurl'},
    ['Degree'] = 'degree',
['Degree'] = 'degree',
    ['DisplayAuthors'] = {"display-authors", "displayauthors"},
['DisplayAuthors'] = {'display-authors', 'displayauthors'},
    ['DisplayEditors'] = {"display-editors", "displayeditors"},
['DisplayEditors'] = {'display-editors', 'displayeditors'},
    ['Docket'] = 'docket',
['Docket'] = 'docket',
    ['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'DoiBroken', 'doi_brokendate', 'doi_inactivedate'},
    ['Edition'] = 'edition',
['Edition'] = 'edition',
    ['Editors'] = 'editors',
['Editors'] = 'editors',
    ['EditorFormat'] = {"editor-format", "editorformat" },
['EditorFormat'] = {'editor-format', 'editorformat'},
    ['EditorSeparator'] = 'editor-separator',
['EditorSeparator'] = 'editor-separator',
    ['EditorNameSeparator'] = 'editor-name-separator',
['EditorNameSeparator'] = 'editor-name-separator',
    ['Embargo'] = {'Embargo', 'embargo'},
['Embargo'] = {'Embargo', 'embargo'},
    ['Format'] = 'format',
['Format'] = 'format',
    ['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; used by old cite AV media notes and old cite DVD notes; remove after 1 October 2014;
['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; remove after 1 October 2014; used by old cite AV media notes and old cite DVD notes
    ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
    ['Inset'] = 'inset',
['Inset'] = 'inset',
    ['Interviewer'] = 'interviewer', -- cite interview
['Interviewer'] = 'interviewer', -- cite interview
    ['Issue'] = {'issue', 'number'},
['Issue'] = {'issue', 'number'},
    ['Language'] = {'language', 'in'},
['Language'] = {'language', 'in'},
    ['LastAuthorAmp'] = 'lastauthoramp',
['LastAuthorAmp'] = {'last-author-amp', 'lastauthoramp'},
    ['LayDate'] = 'laydate',
['LayDate'] = {'lay-date', 'laydate'},
    ['LaySource'] = 'laysource',
['LaySource'] = {'lay-source', 'laysource'},
    ['LayURL'] = {'layurl', 'laysummary'},
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
    ['Minutes'] = 'minutes',
['Minutes'] = 'minutes',
    ['Month'] = 'month',
['Month'] = 'month',
    ['NameSeparator'] = 'name-separator',
['NameSeparator'] = 'name-separator',
    ['Network'] = 'network',
['Network'] = 'network',
    ['NoPP'] = 'nopp',
['NoPP'] = {'no-pp', 'nopp'},
    ['NoTracking'] = {"template doc demo", 'nocat',  
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat',  
        'notracking', "no-tracking"},
'no-tracking', 'notracking'},
    ['OrigYear'] = {'origyear', 'titleyear'}, -- titleyear is deprecated; used in old cite DVD notes; remove after 1 October 2014
['OrigYear'] = {'orig-year', 'origyear', 'titleyear'}, -- titleyear is deprecated; remove after 1 October 2014; used in old cite DVD notes
    ['Others'] = {'others', 'artist', 'director'}, -- artist and director are deprecated; used in old cite AV media notes and old cite DVD notes; remove after 1 October 2014
['Others'] = {'others', 'artist', 'director'}, -- artist and director are deprecated; remove after 1 October 2014; used in old cite AV media notes and old cite DVD notes
    ['Page'] = {'p', 'page'},
['Page'] = {'p', 'page'},
    ['Pages'] = {'pp', 'pages'},
['Pages'] = {'pp', 'pages'},
    ['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
['Periodical'] = {'journal', 'newspaper', 'magazine', 'work',
        'website',  'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
'website',  'periodical', 'encyclopedia', 'encyclopaedia', 'dictionary'},
    ['Place'] = {'place', 'location'},
['Place'] = {'place', 'location'},
    ['PPrefix'] = 'PPrefix',
['PPrefix'] = {'p-prefix', 'PPrefix'},
    ['PPPrefix'] = 'PPPrefix',
['PPPrefix'] = {'pp-prefix', 'PPPrefix'},
['Program'] = 'program', -- cite interview
['Program'] = 'program', -- cite interview
    ['PostScript'] = 'postscript',
['PostScript'] = 'postscript',
    ['PublicationDate'] = {'publicationdate', 'publication-date' },
['PublicationDate'] = {'publicationdate', 'publication-date'},
    ['PublicationPlace'] = {'publication-place', 'publicationplace' },
['PublicationPlace'] = {'publication-place', 'publicationplace'},
    ['PublisherName'] = {'publisher', 'distributor', 'institution'},
--[[ Hide unfinished cite newsgroup code so that long delayed update can take place
    ['Quote'] = {'quote', 'quotation'},
['PublisherName'] = {'publisher', 'distributor', 'institution', 'newsgroup'},
    ['Ref'] = {'ref', 'Ref'},
]] ['PublisherName'] = {'publisher', 'distributor', 'institution'},
    ['RegistrationRequired'] = 'registration',
['Quote'] = {'quote', 'quotation'},
    ['Scale'] = 'scale',
['Ref'] = {'ref', 'Ref'},
    ['Section'] = 'section',
['RegistrationRequired'] = 'registration',
    ['Season'] = 'season',
['Scale'] = 'scale',
    ['Separator'] = 'separator',
['Section'] = 'section',
    ['Series'] = {'series', 'version'},
['Season'] = 'season',
    ['SeriesSeparator'] = 'series-separator',
['Separator'] = 'separator',
    ['SeriesLink'] = 'serieslink',
['Series'] = {'series', 'version'},
    ['SeriesNumber'] = {'seriesnumber', 'seriesno'},
['SeriesSeparator'] = 'series-separator',
    ['Station'] = 'station',
['SeriesLink'] = {'series-link', 'serieslink'},
    ['SubscriptionRequired'] = 'subscription',
['SeriesNumber'] = {'series-number', 'series-no', 'seriesnumber', 'seriesno'},
    ['Time'] = 'time',
['Station'] = 'station',
    ['TimeCaption'] = 'timecaption',
['SubscriptionRequired'] = 'subscription',
    ['Title'] = 'title',
['Time'] = 'time',
    ['TitleLink'] = {'titlelink', 'episodelink', 'albumlink' }, -- albumlink is deprecated; used by old cite AV media notes; remove after 1 October 2014
['TimeCaption'] = {'time-caption', 'timecaption'},
    ['TitleNote'] = 'department',
['Title'] = 'title',
    ['TitleType'] = {'type', 'medium'},
['TitleLink'] = {'title-link', 'episode-link', 'titlelink', 'episodelink', 'albumlink'}, -- albumlink is deprecated; remove after 1 October 2014; used by old cite AV media notes
    ['TransChapter'] = {'trans-chapter', 'trans_chapter' },
['TitleNote'] = 'department',
    ['Transcript'] = 'transcript',
['TitleType'] = {'type', 'medium'},
    ['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransChapter'] = {'trans-chapter', 'trans_chapter'},
    ['TransTitle'] = {'trans-title', 'trans_title' },
['Transcript'] = 'transcript',
    ['URL'] = {'url', 'URL'},
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
    ['Via'] = 'via',
['TransTitle'] = {'trans-title', 'trans_title'},
    ['Volume'] = 'volume',
['URL'] = {'url', 'URL'},
    ['Year'] = 'year',
['Via'] = 'via',
['Volume'] = 'volume',
['Year'] = 'year',


    ['AuthorList-First'] = {"author#-first", "author-first#",
['AuthorList-First'] = {"author#-first", "author-first#",
        "first#", "given#"},
"first#", "given#"},
    ['AuthorList-Last'] = {"author#-last", "author-last#",  
['AuthorList-Last'] = {"author#-last", "author-last#",  
        "last#", "surname#", "Author#", "author#", "authors#", "subject#"},
"last#", "surname#", "Author#", "author#", "authors#", "subject#"},
    ['AuthorList-Link'] = {"author#-link", "author-link#",  
['AuthorList-Link'] = {"author#-link", "author-link#",  
        "author#link", "authorlink#", "subjectlink#"},
"author#link", "authorlink#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"},
    ['AuthorList-Mask'] = {"author#-mask", "author-mask#",  
['AuthorList-Mask'] = {"author#-mask", "author-mask#",  
        "author#mask", "authormask#"},
"author#mask", "authormask#"},
   
    ['EditorList-First'] = {"editor#-first",  
['EditorList-First'] = {"editor#-first",  
        "editor-first#", "EditorGiven#"},
"editor-first#", "editor#-given", "editor-given#", "EditorGiven#"},
    ['EditorList-Last'] = {"editor#-last", "editor-last#",
['EditorList-Last'] = {"editor#-last", "editor-last#",
        "EditorSurname#", "Editor#", "editor#", "editors#"},
"editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
    ['EditorList-Link'] = {"editor#-link", "editor-link#",  
['EditorList-Link'] = {"editor#-link", "editor-link#",  
        "editor#link", "editorlink#"},
"editor#link", "editorlink#"},
    ['EditorList-Mask'] = {"editor#-mask", "editor-mask#",  
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",  
        "editor#mask", "editormask#"},
"editor#mask", "editormask#"},
   
}
}


-- Default parameter values
-- Default parameter values
citation_config.defaults = {
citation_config.defaults = {
    ['DeadURL'] = 'yes',
['DeadURL'] = 'yes',
    ['AuthorSeparator'] = ';',
['AuthorSeparator'] = ';',
    ['EditorSeparator'] = ';',
['EditorSeparator'] = ';',
    ['NameSeparator'] = ',',
['NameSeparator'] = ',',
    ['PPrefix'] = "p.&nbsp;",
['PPrefix'] = "p.&nbsp;",
    ['PPPrefix'] = "pp.&nbsp;",  
['PPPrefix'] = "pp.&nbsp;",
}
}


Line 219: Line 227:
citation_config.error_conditions = {
citation_config.error_conditions = {
accessdate_missing_url = {
accessdate_missing_url = {
message = '<code>&#124;accessdate=</code> requires <code>&#124;url=</code>',
message = '<code style="'..code_style..'">&#124;accessdate=</code> requires <code style="'..code_style..'">&#124;url=</code>',
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 = true },
hidden = true },
archive_missing_date = {
archive_missing_date = {
message = '<code>&#124;archiveurl=</code> requires <code>&#124;archivedate=</code>',
message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;archivedate=</code>',
anchor = 'archive_missing_date',
anchor = 'archive_missing_date',
category = 'Pages with archiveurl citation errors',
category = 'Pages with archiveurl citation errors',
hidden = false },
hidden = false },
archive_missing_url = {
archive_missing_url = {
message = '<code>&#124;archiveurl=</code> requires <code>&#124;url=</code>',
message = '<code style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;url=</code>',
anchor = 'archive_missing_url',
anchor = 'archive_missing_url',
category = 'Pages with archiveurl citation errors',
category = 'Pages with archiveurl citation errors',
hidden = false },
bad_arxiv = {
message = 'Check <code style="'..code_style..'">&#124;arxiv=</code> value',
anchor = 'bad_arxiv',
category = 'CS1 errors: arXiv',
hidden = false },
hidden = false },
bad_authorlink = {
bad_authorlink = {
message = 'Check <code>&#124;authorlink=</code> value',
message = 'Check <code style="'..code_style..'">&#124;authorlink=</code> value',
anchor = 'bad_authorlink',
anchor = 'bad_authorlink',
category = 'CS1 errors: authorlink',
category = 'CS1 errors: authorlink',
hidden = false },
hidden = false },
bad_date = {
bad_date = {
message = 'Check date values in: <code>$1</code>',
message = 'Check date values in: <code style="'..code_style..'">$1</code>',
anchor = 'bad_date',
anchor = 'bad_date',
category = 'CS1 errors: dates',
category = 'CS1 errors: dates',
hidden = true },
hidden = true },
bad_doi = {
bad_doi = {
message = 'Check <code>&#124;doi=</code> value',
message = 'Check <code style="'..code_style..'">&#124;doi=</code> value',
anchor = 'bad_doi',
anchor = 'bad_doi',
category = 'Pages with DOI errors',
category = 'Pages with DOI errors',
hidden = false },
hidden = false },
bad_isbn = {
bad_isbn = {
message = 'Check <code>&#124;isbn=</code> value',
message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value',
anchor = 'bad_isbn',
anchor = 'bad_isbn',
category = 'Pages with ISBN errors',
category = 'Pages with ISBN errors',
hidden = false },
hidden = false },
bad_issn = {
bad_issn = {
message = 'Check <code>&#124;issn=</code> value',
message = 'Check <code style="'..code_style..'">&#124;issn=</code> value',
anchor = 'bad_issn',
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
category = 'CS1 errors: ISSN',
hidden = false },
hidden = false },
bad_lccn = {
bad_lccn = {
message = 'Check <code>&#124;lccn=</code> value',
message = 'Check <code style="'..code_style..'">&#124;lccn=</code> value',
anchor = 'bad_lccn',
anchor = 'bad_lccn',
category = 'CS1 errors: LCCN',
category = 'CS1 errors: LCCN',
hidden = false },
hidden = false },
bad_ol = {
bad_ol = {
message = 'Check <code>&#124;ol=</code> value',
message = 'Check <code style="'..code_style..'">&#124;ol=</code> value',
anchor = 'bad_ol',
anchor = 'bad_ol',
category = 'Pages with OL errors',
category = 'Pages with OL errors',
hidden = false },
hidden = false },
bad_pmc = {
bad_pmc = {
message = 'Check <code>&#124;pmc=</code> value',
message = 'Check <code style="'..code_style..'">&#124;pmc=</code> value',
anchor = 'bad_pmc',
anchor = 'bad_pmc',
category = 'CS1 errors: PMC',
category = 'CS1 errors: PMC',
hidden = false },
hidden = false },
bad_pmid = {
bad_pmid = {
message = 'Check <code>&#124;pmid=</code> value',
message = 'Check <code style="'..code_style..'">&#124;pmid=</code> value',
anchor = 'bad_pmid',
anchor = 'bad_pmid',
category = 'CS1 errors: PMID',
category = 'CS1 errors: PMID',
hidden = false },
hidden = false },
bad_url = {
bad_url = {
message = 'Check <code>&#124;url=</code> scheme',
message = 'Check <code style="'..code_style..'">&#124;url=</code> scheme',
anchor = 'bad_url',
anchor = 'bad_url',
category = 'Pages with URL errors',
category = 'Pages with URL errors',
Line 289: Line 302:
hidden = false },
hidden = false },
citation_missing_title = {
citation_missing_title = {
message = 'Missing or empty <code>&#124;title=</code>',
message = 'Missing or empty <code style="'..code_style..'">&#124;title=</code>',
anchor = 'citation_missing_title',
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
category = 'Pages with citations lacking titles',
hidden = false },
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
cite_web_url = { -- this error applies to cite web and to cite podcast
message = 'Missing or empty <code>&#124;url=</code>',
message = 'Missing or empty <code style="'..code_style..'">&#124;url=</code>',
anchor = 'cite_web_url',
anchor = 'cite_web_url',
category = 'Pages using web citations with no URL',
category = 'Pages using web citations with no URL',
hidden = true },
hidden = true },
coauthors_missing_author = {
coauthors_missing_author = {
message = '<code>&#124;coauthors=</code> requires <code>&#124;author=</code>',
message = '<code style="'..code_style..'">&#124;coauthors=</code> requires <code style="'..code_style..'">&#124;author=</code>',
anchor = 'coauthors_missing_author',
anchor = 'coauthors_missing_author',
category = 'CS1 errors: coauthors without author',
category = 'CS1 errors: coauthors without author',
Line 314: Line 327:
hidden = false },
hidden = false },
extra_pages = {
extra_pages = {
message = 'Extra <code>&#124;pages=</code> or <code>&#124;at=</code>',
message = 'Extra <code style="'..code_style..'">&#124;pages=</code> or <code style="'..code_style..'">&#124;at=</code>',
anchor = 'extra_pages',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications',
category = 'Pages with citations using conflicting page specifications',
hidden = false },
first_missing_last = {
message = '<code style="'..code_style..'">&#124;first$2=</code> missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
anchor = 'first_missing_last',
category = 'CS1 errors: missing author or editor',
hidden = false },
hidden = false },
format_missing_url = {
format_missing_url = {
message = '<code>&#124;format=</code> requires <code>&#124;url=</code>',
message = '<code style="'..code_style..'">&#124;format=</code> requires <code style="'..code_style..'">&#124;url=</code>',
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',
hidden = true },
hidden = true },
implict_etal_author = {
implict_etal_author = {
message = '<code>&#124;displayauthors=</code> suggested',
message = '<code style="'..code_style..'">&#124;displayauthors=</code> suggested',
anchor = 'displayauthors',
anchor = 'displayauthors',
category = 'Pages using citations with old-style implicit et al.',
category = 'Pages using citations with old-style implicit et al.',
hidden = true },
hidden = true },
implict_etal_editor = {
implict_etal_editor = {
message = '<code>&#124;displayeditors=</code> suggested',
message = '<code style="'..code_style..'">&#124;displayeditors=</code> suggested',
anchor = 'displayeditors',
anchor = 'displayeditors',
category = 'Pages using citations with old-style implicit et al. in editors',
category = 'Pages using citations with old-style implicit et al. in editors',
hidden = true },
hidden = true },
missing_name = {
message = 'Missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
anchor = 'missing_name',
category = 'CS1 errors: missing author or editor',
hidden = false },
parameter_ignored = {
parameter_ignored = {
message = 'Unknown parameter <code>&#124;$1=</code> ignored',
message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored',
anchor = 'parameter_ignored',
anchor = 'parameter_ignored',
category = 'Pages with citations using unsupported parameters',
category = 'Pages with citations using unsupported parameters',
hidden = false },
hidden = false },
parameter_ignored_suggest = {
parameter_ignored_suggest = {
message = 'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#124;$2=</code> suggested)',
message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)',
anchor = 'parameter_ignored_suggest',
anchor = 'parameter_ignored_suggest',
category = 'Pages with citations using unsupported parameters',
category = 'Pages with citations using unsupported parameters',
Line 354: Line 377:
hidden = false },
hidden = false },
trans_missing_chapter = {
trans_missing_chapter = {
message = '<code>&#124;trans_chapter=</code> requires <code>&#124;chapter=</code>',
message = '<code style="'..code_style..'">&#124;trans_chapter=</code> requires <code style="'..code_style..'">&#124;chapter=</code>',
anchor = 'trans_missing_chapter',
anchor = 'trans_missing_chapter',
category = 'Pages with citations using translated terms without the original',
category = 'Pages with citations using translated terms without the original',
hidden = false },
hidden = false },
trans_missing_title = {
trans_missing_title = {
message = '<code>&#124;trans_title=</code> requires <code>&#124;title=</code>',
message = '<code style="'..code_style..'">&#124;trans_title=</code> requires <code style="'..code_style..'">&#124;title=</code>',
anchor = 'trans_missing_title',
anchor = 'trans_missing_title',
category = 'Pages with citations using translated terms without the original',
category = 'Pages with citations using translated terms without the original',
Line 371: Line 394:


citation_config.id_handlers = {
citation_config.id_handlers = {
    ['ARXIV'] = {
['ARXIV'] = {
        parameters = {'arxiv', 'ARXIV'},  
parameters = {'arxiv', 'ARXIV'},  
        link = 'arXiv',
link = 'arXiv',
        label = 'arXiv',
label = 'arXiv',
        mode = 'external',
mode = 'manual',
        prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
        encode = false,
encode = false,
        COinS = 'info:arxiv',
COinS = 'info:arxiv',
        separator = ':',
separator = ':',
    },
},
    ['ASIN'] = {
['ASIN'] = {
        parameters = { 'asin', 'ASIN' },      
parameters = { 'asin', 'ASIN' },  
        link = 'Amazon Standard Identification Number',
link = 'Amazon Standard Identification Number',
        label = 'ASIN',
label = 'ASIN',
        mode = 'manual',
mode = 'manual',
        COinS = 'info:asin',
COinS = 'info:asin',
        separator = '&nbsp;',
separator = '&nbsp;',
        encode = false;
encode = false;
    },
},
    ['BIBCODE'] = {
['BIBCODE'] = {
        parameters = {'bibcode', 'BIBCODE'},  
parameters = {'bibcode', 'BIBCODE'},  
        link = 'Bibcode',
link = 'Bibcode',
        label = 'Bibcode',
label = 'Bibcode',
        mode = 'external',
mode = 'external',
        prefix = 'http://adsabs.harvard.edu/abs/',
prefix = 'http://adsabs.harvard.edu/abs/',
        encode = false,
encode = false,
        COinS = 'info:bibcode',
COinS = 'info:bibcode',
        separator = ':',
separator = ':',
    },
},
    ['DOI'] = {
['DOI'] = {
        parameters = { 'doi', 'DOI' },
parameters = { 'doi', 'DOI' },
        link = 'Digital object identifier',
link = 'Digital object identifier',
        label = 'doi',
label = 'doi',
        mode = 'manual',
mode = 'manual',
        prefix = 'http://dx.doi.org/',
prefix = 'http://dx.doi.org/',
        COinS = 'info:doi',
COinS = 'info:doi',
        separator = ':',
separator = ':',
        encode = true,
encode = true,
    },
},
    ['ISBN'] = {
['ISBN'] = {
        parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},  
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},  
        link = 'International Standard Book Number',
link = 'International Standard Book Number',
        label = 'ISBN',
label = 'ISBN',
        mode = 'manual',
mode = 'manual',
        prefix = 'Special:BookSources/',
prefix = 'Special:BookSources/',
        COinS = 'rft.isbn',
COinS = 'rft.isbn',
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['ISSN'] = {
['ISSN'] = {
        parameters = {'issn', 'ISSN'},  
parameters = {'issn', 'ISSN'},  
        link = 'International Standard Serial Number',
link = 'International Standard Serial Number',
        label = 'ISSN',
label = 'ISSN',
        mode = 'manual',
mode = 'manual',
        prefix = '//www.worldcat.org/issn/',
prefix = '//www.worldcat.org/issn/',
        COinS = 'rft.issn',
COinS = 'rft.issn',
        encode = false,
encode = false,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['JFM'] = {
['JFM'] = {
        parameters = {'jfm', 'JFM'},  
parameters = {'jfm', 'JFM'},  
        link = 'Jahrbuch über die Fortschritte der Mathematik',
link = 'Jahrbuch über die Fortschritte der Mathematik',
        label = 'JFM',
label = 'JFM',
        mode = 'external',
mode = 'external',
        prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
        COinS = 'rft.jfm',
COinS = 'rft.jfm',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['JSTOR'] = {
['JSTOR'] = {
        parameters = {'jstor', 'JSTOR'},  
parameters = {'jstor', 'JSTOR'},  
        link = 'JSTOR',
link = 'JSTOR',
        label = 'JSTOR',
label = 'JSTOR',
        mode = 'external',
mode = 'external',
        prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
        COinS = 'rft.jstor',
COinS = 'rft.jstor',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['LCCN'] = {
['LCCN'] = {
        parameters = {'LCCN', 'lccn'},  
parameters = {'LCCN', 'lccn'},  
        link = 'Library of Congress Control Number',
link = 'Library of Congress Control Number',
        label = 'LCCN',
label = 'LCCN',
        mode = 'manual',
mode = 'manual',
        prefix = 'http://lccn.loc.gov/',
prefix = 'http://lccn.loc.gov/',
        COinS = 'rft.lccn',
COinS = 'rft.lccn',
        encode = false,
encode = false,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['MR'] = {
['MR'] = {
        parameters = {'MR', 'mr'},  
parameters = {'MR', 'mr'},  
        link = 'Mathematical Reviews',
link = 'Mathematical Reviews',
        label = 'MR',
label = 'MR',
        mode = 'external',
mode = 'external',
        prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
        COinS = 'rft.mr',
COinS = 'rft.mr',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['OCLC'] = {
['OCLC'] = {
        parameters = {'OCLC', 'oclc'},  
parameters = {'OCLC', 'oclc'},  
        link = 'OCLC',
link = 'OCLC',
        label = 'OCLC',
label = 'OCLC',
        mode = 'external',
mode = 'external',
        prefix = '//www.worldcat.org/oclc/',
prefix = '//www.worldcat.org/oclc/',
        COinS = 'info:oclcnum',
COinS = 'info:oclcnum',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['OL'] = {
['OL'] = {
        parameters = { 'ol', 'OL' },
parameters = { 'ol', 'OL' },
        link = 'Open Library',
link = 'Open Library',
        label = 'OL',
label = 'OL',
        mode = 'manual',
mode = 'manual',
        COinS = 'info:olnum',
COinS = 'info:olnum',
        separator = '&nbsp;',
separator = '&nbsp;',
        endode = true,
endode = true,
    },
},
    ['OSTI'] = {
['OSTI'] = {
        parameters = {'OSTI', 'osti'},  
parameters = {'OSTI', 'osti'},  
        link = 'Office of Scientific and Technical Information',
link = 'Office of Scientific and Technical Information',
        label = 'OSTI',
label = 'OSTI',
        mode = 'external',
mode = 'external',
        prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
        COinS = 'info:osti',
COinS = 'info:osti',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['PMC'] = {
['PMC'] = {
        parameters = {'PMC', 'pmc'},  
parameters = {'PMC', 'pmc'},  
        link = 'PubMed Central',
link = 'PubMed Central',
        label = 'PMC',
label = 'PMC',
        mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
        prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',  
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',  
        suffix = " ",
suffix = " ",
        COinS = 'info:pmc',
COinS = 'info:pmc',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['PMID'] = {
['PMID'] = {
        parameters = {'PMID', 'pmid'},  
parameters = {'PMID', 'pmid'},  
        link = 'PubMed Identifier',
link = 'PubMed Identifier',
        label = 'PMID',
label = 'PMID',
        mode = 'manual', -- changed from external manual to support PMID validation
mode = 'manual', -- changed from external manual to support PMID validation
        prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
        COinS = 'info:pmid',
COinS = 'info:pmid',
        encode = false,
encode = false,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['RFC'] = {
['RFC'] = {
        parameters = {'RFC', 'rfc'},  
parameters = {'RFC', 'rfc'},  
        link = 'Request for Comments',
link = 'Request for Comments',
        label = 'RFC',
label = 'RFC',
        mode = 'external',
mode = 'external',
        prefix = '//tools.ietf.org/html/rfc',
prefix = '//tools.ietf.org/html/rfc',
        COinS = 'info:rfc',
COinS = 'info:rfc',
        encode = false,
encode = false,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['SSRN'] = {
['SSRN'] = {
        parameters = {'SSRN', 'ssrn'},  
parameters = {'SSRN', 'ssrn'},  
        link = 'Social Science Research Network',
link = 'Social Science Research Network',
        label = 'SSRN',
label = 'SSRN',
        mode = 'external',
mode = 'external',
        prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
        COinS = 'info:ssrn',
COinS = 'info:ssrn',
        encode = true,
encode = true,
        separator = '&nbsp;',
separator = '&nbsp;',
    },
},
    ['ZBL'] = {
--[[ Hide unfinished cite newsgroup code so that long delayed update can take place
        parameters = {'ZBL', 'zbl'},  
['USENETID'] = {
        link = 'Zentralblatt MATH',
parameters = {'id', 'ID'},  
        label = 'Zbl',
link = 'Usenet',
        mode = 'external',
label = 'Usenet:',
        prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
mode = 'external',
        COinS = 'info:zbl',
prefix = 'news:',
        encode = true,
encode = false,
        separator = '&nbsp;',
COinS = 'info:usenet',
    }
separator = '&nbsp;',
},
]] ['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = '&nbsp;',
},
}
}


--iso639-1 language codes and names.
--iso639-1 language codes and names.
citation_config.iso639_1 = {
citation_config.iso639_1 = {
    ["aa"] = "Afar",
["aa"] = "Afar",
    ["ab"] = "Abkhazian",
["ab"] = "Abkhazian",
    ["ae"] = "Avestan",
["ae"] = "Avestan",
    ["af"] = "Afrikaans",
["af"] = "Afrikaans",
    ["ak"] = "Akan",
["ak"] = "Akan",
    ["am"] = "Amharic",
["am"] = "Amharic",
    ["an"] = "Aragonese",
["an"] = "Aragonese",
    ["ar"] = "Arabic",
["ar"] = "Arabic",
    ["as"] = "Assamese",
["as"] = "Assamese",
    ["av"] = "Avaric",
["av"] = "Avaric",
    ["ay"] = "Aymara",
["ay"] = "Aymara",
    ["az"] = "Azerbaijani",
["az"] = "Azerbaijani",
    ["ba"] = "Bashkir",
["ba"] = "Bashkir",
    ["be"] = "Belarusian",
["be"] = "Belarusian",
    ["bg"] = "Bulgarian",
["bg"] = "Bulgarian",
    ["bh"] = "Bihari languages",
["bh"] = "Bihari languages",
    ["bi"] = "Bislama",
["bi"] = "Bislama",
    ["bm"] = "Bambara",
["bm"] = "Bambara",
    ["bn"] = "Bengali",
["bn"] = "Bengali",
    ["bo"] = "Tibetan",
["bo"] = "Tibetan",
    ["br"] = "Breton",
["br"] = "Breton",
    ["bs"] = "Bosnian",
["bs"] = "Bosnian",
    ["ca"] = "Catalan",
["ca"] = "Catalan",
-- ["ca"] = "Valencian",
-- ["ca"] = "Valencian",
    ["ce"] = "Chechen",
["ce"] = "Chechen",
    ["ch"] = "Chamorro",
["ch"] = "Chamorro",
    ["co"] = "Corsican",
["co"] = "Corsican",
    ["cr"] = "Cree",
["cr"] = "Cree",
    ["cs"] = "Czech",
["cs"] = "Czech",
    ["cu"] = "Church Slavic",
["cu"] = "Church Slavic",
-- ["cu"] = "Old Slavonic",
-- ["cu"] = "Old Slavonic",
-- ["cu"] = "Church Slavonic",
-- ["cu"] = "Church Slavonic",
-- ["cu"] = "Old Bulgarian",
-- ["cu"] = "Old Bulgarian",
-- ["cu"] = "Old Church Slavonic",
-- ["cu"] = "Old Church Slavonic",
    ["cv"] = "Chuvash",
["cv"] = "Chuvash",
    ["cy"] = "Welsh",
["cy"] = "Welsh",
    ["da"] = "Danish",
["da"] = "Danish",
    ["de"] = "German",
["de"] = "German",
    ["dv"] = "Divehi",
["dv"] = "Divehi",
    ["dv"] = "Dhivehi",
["dv"] = "Dhivehi",
    ["dv"] = "Maldivian",
["dv"] = "Maldivian",
    ["dz"] = "Dzongkha",
["dz"] = "Dzongkha",
    ["ee"] = "Ewe",
["ee"] = "Ewe",
    ["el"] = "Modern Greek",
["el"] = "Modern Greek",
    ["en"] = "English",
["en"] = "English",
    ["eo"] = "Esperanto",
["eo"] = "Esperanto",
    ["es"] = "Spanish",
["es"] = "Spanish",
-- ["es"] = "Castilian",
-- ["es"] = "Castilian",
    ["et"] = "Estonian",
["et"] = "Estonian",
    ["eu"] = "Basque",
["eu"] = "Basque",
    ["fa"] = "Persian",
["fa"] = "Persian",
    ["ff"] = "Fulah",
["ff"] = "Fulah",
    ["fi"] = "Finnish",
["fi"] = "Finnish",
    ["fj"] = "Fijian",
["fj"] = "Fijian",
    ["fo"] = "Faroese",
["fo"] = "Faroese",
    ["fr"] = "French",
["fr"] = "French",
    ["fy"] = "Western Frisian",
["fy"] = "Western Frisian",
    ["ga"] = "Irish",
["ga"] = "Irish",
-- ["gd"] = "Gaelic",
-- ["gd"] = "Gaelic",
    ["gd"] = "Scottish Gaelic",
["gd"] = "Scottish Gaelic",
    ["gl"] = "Galician",
["gl"] = "Galician",
    ["gn"] = "Guarani",
["gn"] = "Guarani",
    ["gu"] = "Gujarati",
["gu"] = "Gujarati",
    ["gv"] = "Manx",
["gv"] = "Manx",
    ["ha"] = "Hausa",
["ha"] = "Hausa",
    ["he"] = "Hebrew",
["he"] = "Hebrew",
    ["hi"] = "Hindi",
["hi"] = "Hindi",
    ["ho"] = "Hiri Motu",
["ho"] = "Hiri Motu",
    ["hr"] = "Croatian",
["hr"] = "Croatian",
-- ["ht"] = "Haitian",
-- ["ht"] = "Haitian",
    ["ht"] = "Haitian Creole",
["ht"] = "Haitian Creole",
    ["hu"] = "Hungarian",
["hu"] = "Hungarian",
    ["hy"] = "Armenian",
["hy"] = "Armenian",
    ["hz"] = "Herero",
["hz"] = "Herero",
    ["ia"] = "Interlingua",
["ia"] = "Interlingua",
    ["id"] = "Indonesian",
["id"] = "Indonesian",
    ["ie"] = "Interlingue",
["ie"] = "Interlingue",
    ["ie"] = "Occidental",
["ie"] = "Occidental",
    ["ig"] = "Igbo",
["ig"] = "Igbo",
-- ["ii"] = "Sichuan Yi",
-- ["ii"] = "Sichuan Yi",
    ["ii"] = "Nuosu",
["ii"] = "Nuosu",
    ["ik"] = "Inupiaq",
["ik"] = "Inupiaq",
    ["io"] = "Ido",
["io"] = "Ido",
    ["is"] = "Icelandic",
["is"] = "Icelandic",
    ["it"] = "Italian",
["it"] = "Italian",
    ["iu"] = "Inuktitut",
["iu"] = "Inuktitut",
    ["ja"] = "Japanese",
["ja"] = "Japanese",
    ["jv"] = "Javanese",
["jv"] = "Javanese",
    ["ka"] = "Georgian",
["ka"] = "Georgian",
    ["kg"] = "Kongo",
["kg"] = "Kongo",
-- ["ki"] = "Kikuyu",
-- ["ki"] = "Kikuyu",
    ["ki"] = "Gikuyu",
["ki"] = "Gikuyu",
-- ["kj"] = "Kuanyama",
-- ["kj"] = "Kuanyama",
    ["kj"] = "Kwanyama",
["kj"] = "Kwanyama",
    ["kk"] = "Kazakh",
["kk"] = "Kazakh",
-- ["kl"] = "Kalaallisut",
-- ["kl"] = "Kalaallisut",
    ["kl"] = "Greenlandic",
["kl"] = "Greenlandic",
    ["km"] = "Central Khmer",
["km"] = "Central Khmer",
    ["kn"] = "Kannada",
["kn"] = "Kannada",
    ["ko"] = "Korean",
["ko"] = "Korean",
    ["kr"] = "Kanuri",
["kr"] = "Kanuri",
    ["ks"] = "Kashmiri",
["ks"] = "Kashmiri",
    ["ku"] = "Kurdish",
["ku"] = "Kurdish",
    ["kv"] = "Komi",
["kv"] = "Komi",
    ["kw"] = "Cornish",
["kw"] = "Cornish",
-- ["ky"] = "Kirghiz",
-- ["ky"] = "Kirghiz",
    ["ky"] = "Kyrgyz",
["ky"] = "Kyrgyz",
    ["la"] = "Latin",
["la"] = "Latin",
    ["lb"] = "Luxembourgish",
["lb"] = "Luxembourgish",
-- ["lb"] = "Letzeburgesch",
-- ["lb"] = "Letzeburgesch",
    ["lg"] = "Ganda",
["lg"] = "Ganda",
-- ["li"] = "Limburgan",
-- ["li"] = "Limburgan",
-- ["li"] = "Limburger",
-- ["li"] = "Limburger",
    ["li"] = "Limburgish",
["li"] = "Limburgish",
    ["ln"] = "Lingala",
["ln"] = "Lingala",
    ["lo"] = "Lao",
["lo"] = "Lao",
    ["lt"] = "Lithuanian",
["lt"] = "Lithuanian",
    ["lu"] = "Luba-Katanga",
["lu"] = "Luba-Katanga",
    ["lv"] = "Latvian",
["lv"] = "Latvian",
    ["mg"] = "Malagasy",
["mg"] = "Malagasy",
    ["mh"] = "Marshallese",
["mh"] = "Marshallese",
    ["mi"] = "Maori",
["mi"] = "Maori",
    ["mk"] = "Macedonian",
["mk"] = "Macedonian",
    ["ml"] = "Malayalam",
["ml"] = "Malayalam",
    ["mn"] = "Mongolian",
["mn"] = "Mongolian",
    ["mr"] = "Marathi",
["mr"] = "Marathi",
    ["ms"] = "Malay",
["ms"] = "Malay",
    ["mt"] = "Maltese",
["mt"] = "Maltese",
    ["my"] = "Burmese",
["my"] = "Burmese",
    ["na"] = "Nauru",
["na"] = "Nauru",
    ["nb"] = "Norwegian Bokmål",
["nb"] = "Norwegian Bokmål",
    ["nd"] = "North Ndebele",
["nd"] = "North Ndebele",
    ["ne"] = "Nepali",
["ne"] = "Nepali",
    ["ng"] = "Ndonga",
["ng"] = "Ndonga",
    ["nl"] = "Dutch",
["nl"] = "Dutch",
-- ["nl"] = "Flemish",
-- ["nl"] = "Flemish",
    ["nn"] = "Norwegian Nynorsk",
["nn"] = "Norwegian Nynorsk",
    ["no"] = "Norwegian",
["no"] = "Norwegian",
    ["nr"] = "South Ndebele",
["nr"] = "South Ndebele",
    ["nv"] = "Navajo",
["nv"] = "Navajo",
-- ["nv"] = "Navaho",
-- ["nv"] = "Navaho",
-- ["ny"] = "Chichewa",
-- ["ny"] = "Chichewa",
-- ["ny"] = "Chewa",
-- ["ny"] = "Chewa",
    ["ny"] = "Nyanja",
["ny"] = "Nyanja",
    ["oc"] = "Occitan",
["oc"] = "Occitan",
    ["oj"] = "Ojibwa",
["oj"] = "Ojibwa",
    ["om"] = "Oromo",
["om"] = "Oromo",
    ["or"] = "Oriya",
["or"] = "Oriya",
    ["os"] = "Ossetian",
["os"] = "Ossetian",
    ["os"] = "Ossetic",
["os"] = "Ossetic",
-- ["pa"] = "Panjabi",
-- ["pa"] = "Panjabi",
    ["pa"] = "Punjabi",
["pa"] = "Punjabi",
    ["pi"] = "Pali",
["pi"] = "Pali",
    ["pl"] = "Polish",
["pl"] = "Polish",
-- ["ps"] = "Pushto",
-- ["ps"] = "Pushto",
    ["ps"] = "Pashto",
["ps"] = "Pashto",
    ["pt"] = "Portuguese",
["pt"] = "Portuguese",
    ["qu"] = "Quechua",
["qu"] = "Quechua",
    ["rm"] = "Romansh",
["rm"] = "Romansh",
    ["rn"] = "Rundi",
["rn"] = "Rundi",
    ["ro"] = "Romanian",
["ro"] = "Romanian",
-- ["ro"] = "Moldavian",
-- ["ro"] = "Moldavian",
-- ["ro"] = "Moldovan",
-- ["ro"] = "Moldovan",
    ["ru"] = "Russian",
["ru"] = "Russian",
    ["rw"] = "Kinyarwanda",
["rw"] = "Kinyarwanda",
    ["sa"] = "Sanskrit",
["sa"] = "Sanskrit",
    ["sc"] = "Sardinian",
["sc"] = "Sardinian",
    ["sd"] = "Sindhi",
["sd"] = "Sindhi",
    ["se"] = "Northern Sami",
["se"] = "Northern Sami",
    ["sg"] = "Sango",
["sg"] = "Sango",
    ["si"] = "Sinhala",
["si"] = "Sinhala",
-- ["si"] = "Sinhalese",
-- ["si"] = "Sinhalese",
    ["sk"] = "Slovak",
["sk"] = "Slovak",
    ["sl"] = "Slovenian",
["sl"] = "Slovenian",
    ["sm"] = "Samoan",
["sm"] = "Samoan",
    ["sn"] = "Shona",
["sn"] = "Shona",
    ["so"] = "Somali",
["so"] = "Somali",
    ["sq"] = "Albanian",
["sq"] = "Albanian",
    ["sr"] = "Serbian",
["sr"] = "Serbian",
    ["ss"] = "Swati",
["ss"] = "Swati",
    ["st"] = "Southern Sotho",
["st"] = "Southern Sotho",
    ["su"] = "Sundanese",
["su"] = "Sundanese",
    ["sv"] = "Swedish",
["sv"] = "Swedish",
    ["sw"] = "Swahili",
["sw"] = "Swahili",
    ["ta"] = "Tamil",
["ta"] = "Tamil",
    ["te"] = "Telugu",
["te"] = "Telugu",
    ["tg"] = "Tajik",
["tg"] = "Tajik",
    ["th"] = "Thai",
["th"] = "Thai",
    ["ti"] = "Tigrinya",
["ti"] = "Tigrinya",
    ["tk"] = "Turkmen",
["tk"] = "Turkmen",
    ["tl"] = "Tagalog",
["tl"] = "Tagalog",
    ["tn"] = "Tswana",
["tn"] = "Tswana",
    ["to"] = "Tonga (Tonga Islands)",
["to"] = "Tonga (Tonga Islands)",
    ["tr"] = "Turkish",
["tr"] = "Turkish",
    ["ts"] = "Tsonga",
["ts"] = "Tsonga",
    ["tt"] = "Tatar",
["tt"] = "Tatar",
    ["tw"] = "Twi",
["tw"] = "Twi",
    ["ty"] = "Tahitian",
["ty"] = "Tahitian",
-- ["ug"] = "Uighur",
-- ["ug"] = "Uighur",
    ["ug"] = "Uyghur",
["ug"] = "Uyghur",
    ["uk"] = "Ukrainian",
["uk"] = "Ukrainian",
    ["ur"] = "Urdu",
["ur"] = "Urdu",
    ["uz"] = "Uzbek",
["uz"] = "Uzbek",
    ["ve"] = "Venda",
["ve"] = "Venda",
    ["vi"] = "Vietnamese",
["vi"] = "Vietnamese",
    ["vo"] = "Volapük",
["vo"] = "Volapük",
    ["wa"] = "Walloon",
["wa"] = "Walloon",
    ["wo"] = "Wolof",
["wo"] = "Wolof",
    ["xh"] = "Xhosa",
["xh"] = "Xhosa",
    ["yi"] = "Yiddish",
["yi"] = "Yiddish",
    ["yo"] = "Yoruba",
["yo"] = "Yoruba",
    ["za"] = "Zhuang",
["za"] = "Zhuang",
-- ["za"] = "Chuang",
-- ["za"] = "Chuang",
    ["zh"] = "Chinese",
["zh"] = "Chinese",
    ["zu"] = "Zulu",
["zu"] = "Zulu",
}
}
return citation_config;
return citation_config;
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.