Difference between pages "Module:Citation/CS1/Configuration" and "Module:Citation/CS1/Configuration/sandbox"

(Difference between pages)
Jump to navigation Jump to search
Page 1
Page 2
m (1 revision imported)
 
m (1 revision)
 
Line 1: Line 1:
 +
--[[
 +
History of changes since last sync: 2014-03-30
 +
2014-04-04: firstn/lastn mismatch;
 +
 +
]]
 +
 
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 62: Line 64:
 
   ['quoted-text'] = '"$1"',
 
   ['quoted-text'] = '"$1"',
  
   ['parameter'] = '<code style="'..code_style..'">&#124;$1=</code>',
+
   ['parameter'] = '<code>&#124;$1=</code>',
 
   ['parameter-separator'] = ', ',
 
   ['parameter-separator'] = ', ',
 
   ['parameter-final-separator'] = ', and ',
 
   ['parameter-final-separator'] = ', and ',
Line 68: Line 70:
  
 
   -- 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 87: Line 87:
 
-- Aliases table for commonly passed parameters
 
-- Aliases table for commonly passed parameters
 
citation_config.aliases = {
 
citation_config.aliases = {
['AccessDate'] = {'access-date', 'accessdate'},
+
    ['AccessDate'] = 'accessdate',
['Agency'] = 'agency',
+
    ['Agency'] = 'agency',
['AirDate'] = {'air-date', 'airdate'},
+
    ['AirDate'] = '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'] = {'book-title', 'booktitle'},
+
    ['BookTitle'] = 'booktitle',
['Callsign'] = {'call-sign', 'callsign'}, -- cite interview
+
['Callsign'] = 'callsign', -- cite interview
['Cartography'] = 'cartography',
+
    ['Cartography'] = 'cartography',
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated; remove after 1 October 2014; used by old cite AV media notes
+
    ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated used by old cite AV media notes; remove after 1 October 2014;
['ChapterLink'] = {'chapter-link', 'chapterlink'},
+
    ['ChapterLink'] = 'chapterlink',
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
+
    ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
['City'] = 'city', -- cite interview
+
['City'] = 'city', -- cite interview
['Coauthors'] = {'coauthors', 'coauthor'}, -- coauthor and coauthors are deprecated; remove after 1 October 2014
+
    ['Coauthors'] = {'coauthors', 'coauthor' },
['Cointerviewers'] = 'cointerviewers', -- cointerviewers is deprecated; remove after 1 October 2014; used by cite interview
+
    ['Cointerviewers'] = 'cointerviewers', -- cite interview
['Conference'] = {'conference', 'event'},
+
    ['Conference'] = {'conference', 'event' },
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl'},
+
    ['ConferenceURL'] = {'conference-url', 'conferenceurl', 'eventurl' },
['Date'] = 'date',
+
    ['Date'] = 'date',
['Day'] = 'day',
+
    ['Day'] = 'day',
['DeadURL'] = {'dead-url', 'deadurl'},
+
    ['DeadURL'] = '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-broken', 'doi-broken-date', 'doi-inactive-date', 'DoiBroken', 'doi_brokendate', 'doi_inactivedate'},
+
    ['DoiBroken'] = {'doi_inactivedate', 'doi_brokendate', 'DoiBroken'},
['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; remove after 1 October 2014; used by old cite AV media notes and old cite DVD notes
+
    ['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; used by old cite AV media notes and old cite DVD notes; remove after 1 October 2014;
['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'] = {'last-author-amp', 'lastauthoramp'},
+
    ['LastAuthorAmp'] = 'lastauthoramp',
['LayDate'] = {'lay-date', 'laydate'},
+
    ['LayDate'] = 'laydate',
['LaySource'] = {'lay-source', 'laysource'},
+
    ['LaySource'] = 'laysource',
['LayURL'] = {'lay-url', 'lay-summary', 'layurl', 'laysummary'},
+
    ['LayURL'] = {'layurl', 'laysummary'},
['ScriptTitle'] = 'script-title',
+
    ['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', 'newsgroup'},
--[[ 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#", "subject-link#", "subject#link", "subject#-link", "subjectlink#"},
+
        "author#link", "authorlink#", "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#", "editor#-given", "editor-given#", "EditorGiven#"},
+
        "editor-first#", "EditorGiven#"},
['EditorList-Last'] = {"editor#-last", "editor-last#",
+
    ['EditorList-Last'] = {"editor#-last", "editor-last#",
"editor#-surname", "editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
+
        "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 228: Line 225:
 
citation_config.error_conditions = {
 
citation_config.error_conditions = {
 
accessdate_missing_url = {
 
accessdate_missing_url = {
message = '<code style="'..code_style..'">&#124;accessdate=</code> requires <code style="'..code_style..'">&#124;url=</code>',
+
message = '<code>&#124;accessdate=</code> requires <code>&#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 style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;archivedate=</code>',
+
message = '<code>&#124;archiveurl=</code> requires <code>&#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 style="'..code_style..'">&#124;archiveurl=</code> requires <code style="'..code_style..'">&#124;url=</code>',
+
message = '<code>&#124;archiveurl=</code> requires <code>&#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 },
 
hidden = false },
 
bad_arxiv = {
 
bad_arxiv = {
message = 'Check <code style="'..code_style..'">&#124;arxiv=</code> value',
+
message = 'Check <code>&#124;arxiv=</code> value',
 
anchor = 'bad_arxiv',
 
anchor = 'bad_arxiv',
category = 'CS1 errors: arXiv',
+
category = '', --'CS1 errors: arXiv',
 
hidden = false },
 
hidden = false },
 
bad_authorlink = {
 
bad_authorlink = {
message = 'Check <code style="'..code_style..'">&#124;authorlink=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">$1</code>',
+
message = 'Check date values in: <code>$1</code>',
 
anchor = 'bad_date',
 
anchor = 'bad_date',
 
category = 'CS1 errors: dates',
 
category = 'CS1 errors: dates',
hidden = false },
+
hidden = true },
 
bad_doi = {
 
bad_doi = {
message = 'Check <code style="'..code_style..'">&#124;doi=</code> value',
+
message = 'Check <code>&#124;doi=</code> value',
 
anchor = 'bad_doi',
 
anchor = 'bad_doi',
category = 'CS1 errors: DOI',
+
category = 'Pages with DOI errors',
 
hidden = false },
 
hidden = false },
 
bad_isbn = {
 
bad_isbn = {
message = 'Check <code style="'..code_style..'">&#124;isbn=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">&#124;issn=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">&#124;lccn=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">&#124;ol=</code> value',
+
message = 'Check <code>&#124;ol=</code> value',
 
anchor = 'bad_ol',
 
anchor = 'bad_ol',
category = 'CS1 errors: OL',
+
category = 'Pages with OL errors',
 
hidden = false },
 
hidden = false },
 
bad_pmc = {
 
bad_pmc = {
message = 'Check <code style="'..code_style..'">&#124;pmc=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">&#124;pmid=</code> value',
+
message = 'Check <code>&#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 style="'..code_style..'">&#124;url=</code> scheme',
+
message = 'Check <code>&#124;url=</code> scheme',
 
anchor = 'bad_url',
 
anchor = 'bad_url',
 
category = 'Pages with URL errors',
 
category = 'Pages with URL errors',
Line 303: Line 300:
 
hidden = false },
 
hidden = false },
 
citation_missing_title = {
 
citation_missing_title = {
message = 'Missing or empty <code style="'..code_style..'">&#124;title=</code>',
+
message = 'Missing or empty <code>&#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 style="'..code_style..'">&#124;url=</code>',
+
message = 'Missing or empty <code>&#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 style="'..code_style..'">&#124;coauthors=</code> requires <code style="'..code_style..'">&#124;author=</code>',
+
message = '<code>&#124;coauthors=</code> requires <code>&#124;author=</code>',
 
anchor = 'coauthors_missing_author',
 
anchor = 'coauthors_missing_author',
 
category = 'CS1 errors: coauthors without author',
 
category = 'CS1 errors: coauthors without author',
Line 328: Line 325:
 
hidden = false },
 
hidden = false },
 
extra_pages = {
 
extra_pages = {
message = 'Extra <code style="'..code_style..'">&#124;pages=</code> or <code style="'..code_style..'">&#124;at=</code>',
+
message = 'Extra <code>&#124;pages=</code> or <code>&#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 },
 
hidden = false },
 
first_missing_last = {
 
first_missing_last = {
message = '<code style="'..code_style..'">&#124;first$2=</code> missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
+
message = '<code>&#124;first$2=</code> missing <code>&#124;last$2=</code> in $1',
 
anchor = 'first_missing_last',
 
anchor = 'first_missing_last',
category = 'CS1 errors: missing author or editor',
+
category = '', --'CS1 errors: missing author or editor',
 
hidden = false },
 
hidden = false },
 
format_missing_url = {
 
format_missing_url = {
message = '<code style="'..code_style..'">&#124;format=</code> requires <code style="'..code_style..'">&#124;url=</code>',
+
message = '<code>&#124;format=</code> requires <code>&#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 style="'..code_style..'">&#124;displayauthors=</code> suggested',
+
message = '<code>&#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 style="'..code_style..'">&#124;displayeditors=</code> suggested',
+
message = '<code>&#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 = {
 
missing_name = {
message = 'Missing <code style="'..code_style..'">&#124;last$2=</code> in $1',
+
message = 'Missing <code>&#124;last$2=</code> in $1',
 
anchor = 'missing_name',
 
anchor = 'missing_name',
category = 'CS1 errors: missing author or editor',
+
category = '', --'CS1 errors: missing author or editor',
 
hidden = false },
 
hidden = false },
 
parameter_ignored = {
 
parameter_ignored = {
message = 'Unknown parameter <code style="'..code_style..'">&#124;$1=</code> ignored',
+
message = 'Unknown parameter <code>&#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 style="'..code_style..'">&#124;$1=</code> ignored (<code style="'..code_style..'">&#124;$2=</code> suggested)',
+
message = 'Unknown parameter <code>&#124;$1=</code> ignored (<code>&#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 378: Line 375:
 
hidden = false },
 
hidden = false },
 
trans_missing_chapter = {
 
trans_missing_chapter = {
message = '<code style="'..code_style..'">&#124;trans_chapter=</code> requires <code style="'..code_style..'">&#124;chapter=</code>',
+
message = '<code>&#124;trans_chapter=</code> requires <code>&#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 style="'..code_style..'">&#124;trans_title=</code> requires <code style="'..code_style..'">&#124;title=</code>',
+
message = '<code>&#124;trans_title=</code> requires <code>&#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 395: Line 392:
  
 
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 = 'manual',
+
        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 = '//zbmath.org/?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;',
},
+
    },
--[[ Hide unfinished cite newsgroup code so that long delayed update can take place
+
    ['ZBL'] = {
['USENETID'] = {
+
        parameters = {'ZBL', 'zbl'},  
parameters = {'id', 'ID'},  
+
        link = 'Zentralblatt MATH',
link = 'Usenet',
+
        label = 'Zbl',
label = 'Usenet:',
+
        mode = 'external',
mode = 'external',
+
        prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
prefix = 'news:',
+
        COinS = 'info:zbl',
encode = false,
+
        encode = true,
COinS = 'info:usenet',
+
        separator = '&nbsp;',
separator = '&nbsp;',
+
    },
},
+
    ['USENETID'] = {
]] ['ZBL'] = {
+
        parameters = {'id', 'ID'},  
parameters = {'ZBL', 'zbl'},  
+
        link = 'Usenet',
link = 'Zentralblatt MATH',
+
        label = 'Usenet:',
label = 'Zbl',
+
        mode = 'external',
mode = 'external',
+
        prefix = 'news:',
prefix = '//zbmath.org/?format=complete&q=an:',
+
        encode = false,
COinS = 'info:zbl',
+
        COinS = 'info:usenet',
encode = true,
+
        separator = '&nbsp;',
separator = '&nbsp;',
+
    }
},
 
 
}
 
}
  
 +
--iso639-1 language codes and names.
 +
citation_config.iso639_1 = {
 +
    ["aa"]  = "Afar",
 +
    ["ab"]  = "Abkhazian",
 +
    ["ae"]  = "Avestan",
 +
    ["af"]  = "Afrikaans",
 +
    ["ak"]  = "Akan",
 +
    ["am"]  = "Amharic",
 +
    ["an"]  = "Aragonese",
 +
    ["ar"]  = "Arabic",
 +
    ["as"]  = "Assamese",
 +
    ["av"]  = "Avaric",
 +
    ["ay"]  = "Aymara",
 +
    ["az"]  = "Azerbaijani",
 +
    ["ba"]  = "Bashkir",
 +
    ["be"]  = "Belarusian",
 +
    ["bg"]  = "Bulgarian",
 +
    ["bh"]  = "Bihari languages",
 +
    ["bi"]  = "Bislama",
 +
    ["bm"]  = "Bambara",
 +
    ["bn"]  = "Bengali",
 +
    ["bo"]  = "Tibetan",
 +
    ["br"]  = "Breton",
 +
    ["bs"]  = "Bosnian",
 +
    ["ca"]  = "Catalan",
 +
--  ["ca"]  = "Valencian",
 +
    ["ce"]  = "Chechen",
 +
    ["ch"]  = "Chamorro",
 +
    ["co"]  = "Corsican",
 +
    ["cr"]  = "Cree",
 +
    ["cs"]  = "Czech",
 +
    ["cu"]  = "Church Slavic",
 +
--  ["cu"]  = "Old Slavonic",
 +
--  ["cu"]  = "Church Slavonic",
 +
--  ["cu"]  = "Old Bulgarian",
 +
--  ["cu"]  = "Old Church Slavonic",
 +
    ["cv"]  = "Chuvash",
 +
    ["cy"]  = "Welsh",
 +
    ["da"]  = "Danish",
 +
    ["de"]  = "German",
 +
    ["dv"]  = "Divehi",
 +
    ["dv"]  = "Dhivehi",
 +
    ["dv"]  = "Maldivian",
 +
    ["dz"]  = "Dzongkha",
 +
    ["ee"]  = "Ewe",
 +
    ["el"]  = "Modern Greek",
 +
    ["en"]  = "English",
 +
    ["eo"]  = "Esperanto",
 +
    ["es"]  = "Spanish",
 +
--  ["es"]  = "Castilian",
 +
    ["et"]  = "Estonian",
 +
    ["eu"]  = "Basque",
 +
    ["fa"]  = "Persian",
 +
    ["ff"]  = "Fulah",
 +
    ["fi"]  = "Finnish",
 +
    ["fj"]  = "Fijian",
 +
    ["fo"]  = "Faroese",
 +
    ["fr"]  = "French",
 +
    ["fy"]  = "Western Frisian",
 +
    ["ga"]  = "Irish",
 +
--  ["gd"]  = "Gaelic",
 +
    ["gd"]  = "Scottish Gaelic",
 +
    ["gl"]  = "Galician",
 +
    ["gn"]  = "Guarani",
 +
    ["gu"]  = "Gujarati",
 +
    ["gv"]  = "Manx",
 +
    ["ha"]  = "Hausa",
 +
    ["he"]  = "Hebrew",
 +
    ["hi"]  = "Hindi",
 +
    ["ho"]  = "Hiri Motu",
 +
    ["hr"]  = "Croatian",
 +
--  ["ht"]  = "Haitian",
 +
    ["ht"]  = "Haitian Creole",
 +
    ["hu"]  = "Hungarian",
 +
    ["hy"]  = "Armenian",
 +
    ["hz"]  = "Herero",
 +
    ["ia"]  = "Interlingua",
 +
    ["id"]  = "Indonesian",
 +
    ["ie"]  = "Interlingue",
 +
    ["ie"]  = "Occidental",
 +
    ["ig"]  = "Igbo",
 +
--  ["ii"]  = "Sichuan Yi",
 +
    ["ii"]  = "Nuosu",
 +
    ["ik"]  = "Inupiaq",
 +
    ["io"]  = "Ido",
 +
    ["is"]  = "Icelandic",
 +
    ["it"]  = "Italian",
 +
    ["iu"]  = "Inuktitut",
 +
    ["ja"]  = "Japanese",
 +
    ["jv"]  = "Javanese",
 +
    ["ka"]  = "Georgian",
 +
    ["kg"]  = "Kongo",
 +
--  ["ki"]  = "Kikuyu",
 +
    ["ki"]  = "Gikuyu",
 +
--  ["kj"]  = "Kuanyama",
 +
    ["kj"]  = "Kwanyama",
 +
    ["kk"]  = "Kazakh",
 +
--  ["kl"]  = "Kalaallisut",
 +
    ["kl"]  = "Greenlandic",
 +
    ["km"]  = "Central Khmer",
 +
    ["kn"]  = "Kannada",
 +
    ["ko"]  = "Korean",
 +
    ["kr"]  = "Kanuri",
 +
    ["ks"]  = "Kashmiri",
 +
    ["ku"]  = "Kurdish",
 +
    ["kv"]  = "Komi",
 +
    ["kw"]  = "Cornish",
 +
--  ["ky"]  = "Kirghiz",
 +
    ["ky"]  = "Kyrgyz",
 +
    ["la"]  = "Latin",
 +
    ["lb"]  = "Luxembourgish",
 +
--  ["lb"]  = "Letzeburgesch",
 +
    ["lg"]  = "Ganda",
 +
--  ["li"]  = "Limburgan",
 +
--  ["li"]  = "Limburger",
 +
    ["li"]  = "Limburgish",
 +
    ["ln"]  = "Lingala",
 +
    ["lo"]  = "Lao",
 +
    ["lt"]  = "Lithuanian",
 +
    ["lu"]  = "Luba-Katanga",
 +
    ["lv"]  = "Latvian",
 +
    ["mg"]  = "Malagasy",
 +
    ["mh"]  = "Marshallese",
 +
    ["mi"]  = "Maori",
 +
    ["mk"]  = "Macedonian",
 +
    ["ml"]  = "Malayalam",
 +
    ["mn"]  = "Mongolian",
 +
    ["mr"]  = "Marathi",
 +
    ["ms"]  = "Malay",
 +
    ["mt"]  = "Maltese",
 +
    ["my"]  = "Burmese",
 +
    ["na"]  = "Nauru",
 +
    ["nb"]  = "Norwegian Bokmål",
 +
    ["nd"]  = "North Ndebele",
 +
    ["ne"]  = "Nepali",
 +
    ["ng"]  = "Ndonga",
 +
    ["nl"]  = "Dutch",
 +
--  ["nl"]  = "Flemish",
 +
    ["nn"]  = "Norwegian Nynorsk",
 +
    ["no"]  = "Norwegian",
 +
    ["nr"]  = "South Ndebele",
 +
    ["nv"]  = "Navajo",
 +
--  ["nv"]  = "Navaho",
 +
--  ["ny"]  = "Chichewa",
 +
--  ["ny"]  = "Chewa",
 +
    ["ny"]  = "Nyanja",
 +
    ["oc"]  = "Occitan",
 +
    ["oj"]  = "Ojibwa",
 +
    ["om"]  = "Oromo",
 +
    ["or"]  = "Oriya",
 +
    ["os"]  = "Ossetian",
 +
    ["os"]  = "Ossetic",
 +
--  ["pa"]  = "Panjabi",
 +
    ["pa"]  = "Punjabi",
 +
    ["pi"]  = "Pali",
 +
    ["pl"]  = "Polish",
 +
--  ["ps"]  = "Pushto",
 +
    ["ps"]  = "Pashto",
 +
    ["pt"]  = "Portuguese",
 +
    ["qu"]  = "Quechua",
 +
    ["rm"]  = "Romansh",
 +
    ["rn"]  = "Rundi",
 +
    ["ro"]  = "Romanian",
 +
--  ["ro"]  = "Moldavian",
 +
--  ["ro"]  = "Moldovan",
 +
    ["ru"]  = "Russian",
 +
    ["rw"]  = "Kinyarwanda",
 +
    ["sa"]  = "Sanskrit",
 +
    ["sc"]  = "Sardinian",
 +
    ["sd"]  = "Sindhi",
 +
    ["se"]  = "Northern Sami",
 +
    ["sg"]  = "Sango",
 +
    ["si"]  = "Sinhala",
 +
--  ["si"]  = "Sinhalese",
 +
    ["sk"]  = "Slovak",
 +
    ["sl"]  = "Slovenian",
 +
    ["sm"]  = "Samoan",
 +
    ["sn"]  = "Shona",
 +
    ["so"]  = "Somali",
 +
    ["sq"]  = "Albanian",
 +
    ["sr"]  = "Serbian",
 +
    ["ss"]  = "Swati",
 +
    ["st"]  = "Southern Sotho",
 +
    ["su"]  = "Sundanese",
 +
    ["sv"]  = "Swedish",
 +
    ["sw"]  = "Swahili",
 +
    ["ta"]  = "Tamil",
 +
    ["te"]  = "Telugu",
 +
    ["tg"]  = "Tajik",
 +
    ["th"]  = "Thai",
 +
    ["ti"]  = "Tigrinya",
 +
    ["tk"]  = "Turkmen",
 +
    ["tl"]  = "Tagalog",
 +
    ["tn"]  = "Tswana",
 +
    ["to"]  = "Tonga (Tonga Islands)",
 +
    ["tr"]  = "Turkish",
 +
    ["ts"]  = "Tsonga",
 +
    ["tt"]  = "Tatar",
 +
    ["tw"]  = "Twi",
 +
    ["ty"]  = "Tahitian",
 +
--  ["ug"]  = "Uighur",
 +
    ["ug"]  = "Uyghur",
 +
    ["uk"]  = "Ukrainian",
 +
    ["ur"]  = "Urdu",
 +
    ["uz"]  = "Uzbek",
 +
    ["ve"]  = "Venda",
 +
    ["vi"]  = "Vietnamese",
 +
    ["vo"]  = "Volapük",
 +
    ["wa"]  = "Walloon",
 +
    ["wo"]  = "Wolof",
 +
    ["xh"]  = "Xhosa",
 +
    ["yi"]  = "Yiddish",
 +
    ["yo"]  = "Yoruba",
 +
    ["za"]  = "Zhuang",
 +
--  ["za"]  = "Chuang",
 +
    ["zh"]  = "Chinese",
 +
    ["zu"]  = "Zulu",
 +
}
 
return citation_config;
 
return citation_config;