-- https://git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199
local code_style="color:inherit; border:inherit; padding:inherit;";
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------
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 >--------------------------------------------------------------
['unknown_argument_map'] = 'Argument map not defined for this variable',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
}
--[[--------------------------< P R E S E N T A T I O N >------------------------------------------------------
]]
local presentation =
{
['kern-left'] = '<span style="padding-left:0.2em;">$1</span>$2', -- spacing to use when title contains leading single or double quote mark
['kern-right'] = '$1<span style="padding-right:0.2em;">$2</span>', -- spacing to use when title contains trailing single or double quote mark
-- these for simple wikilinked titles [["text]], [[text"]] and [["text"]]
-- span wraps entire wikilink
['kern-wl-left'] = '<span style="padding-left:0.2em;">$1</span>', -- when title contains leading single or double quote mark
['kern-wl-right'] = '<span style="padding-right:0.2em;">$1</span>', -- when title contains trailing single or double quote mark
['kern-wl-both'] = '<span style="padding-left:0.2em;padding-right:0.2em;">$1</span>', -- when title contains leading and trailing single or double quote marks
['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span>
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'section-format'};
['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'section-url', 'sectionurl'},
['ChapterUrlAccess'] = 'chapter-url-access',
['Class'] = 'class', -- cite arxiv and arxiv identifiers
['Collaboration'] = 'collaboration',
['DisplayEditors'] = {'display-editors', 'displayeditors'},
['Docket'] = 'docket',
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date', 'doi_brokendate', 'doi_inactivedate'},
['Edition'] = 'edition',
['Editors'] = 'editors',
['Network'] = 'network',
['NoPP'] = {'no-pp', 'nopp'},
['NoTracking'] = {'template-doc-demo', 'template doc demo', 'no-cat', 'nocat',
'no-tracking', 'notracking'},
['Number'] = 'number', -- this case only for cite techreport
['TitleNote'] = 'department',
['TitleType'] = {'type', 'medium'},
['TransChapter'] = {'trans-chapter', 'trans_chapter'},
['TransMap'] = 'trans-map', -- cite map only
['Transcript'] = 'transcript',
['TranscriptFormat'] = 'transcript-format',
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransTitle'] = {'trans-title', 'trans_title'},
['URL'] = {'url', 'URL'},
['UrlAccess'] = {'url-access'},
['TranslatorList-Link'] = {'translator-link#', 'translator#-link'},
['TranslatorList-Mask'] = {'translator-mask#', 'translator#-mask'},
}
--[[--------------------------< S P E C I A L C A S E T R A N S L A T I O N S >----------------------------
['editors'] = "editors",
}
--[[--------------------------< D E F A U L T S >--------------------------------------------------------------
['DeadURL'] = 'yes',
}
--[[--------------------------< D A T E _ N A M E S >----------------------------------------------------------
This table of tables lists local language date names and fallback English date names. The code in Date_validation
will look first in the local table for valid date names. If date names are not found in the local table, the code
will look in the English table.
Because citations can be copied to the local wiki from en.wiki, the English is required when the date-name translation
function date_name_xlate() is used.
In these tables, season numbering is defined by ISO DIS 8601:2016 part 2 §4.7 'Divisions of a year'. The standard
defines various divisions using numbers 21-41. cs1|2 only supports generic seasons. ISO DIS 8601:2016 does support
the distinction between north and south hemispere seasons but cs1|2 has no way to make that distinction.
The standard does not address 'named' dates so, for the purposes of cs1|2, Christmas is defined here as 99, which
should be out of the ISO DIS 8601:2016 range of uses for a while.
]]
local date_names = {
['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};
['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};
['named'] = {['Christmas']=99};
},
['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};
['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};
['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'}; -- used to convert local language digits to Western 0-9
}
local templates_using_issue = {'citation', 'conference', 'episode', 'interview', 'journal', 'magazine', 'map', 'news'}
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'}
-- {'Supplementary Private Use Area-A', '[\243\176\128\128-\243\191\191\189]'}, -- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD
-- {'Supplementary Private Use Area-B', '[\244\128\128\128-\244\143\191\189]'}, -- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD
} -- Indic script makes use of zero width joiner as a character modifier so zwj characters must be left in. This-- pattern covers all of the unicode characters for these languages:-- Devanagari 0900–097F – https://unicode.org/charts/PDF/U0900.pdf-- Devanagari extended A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf-- Bengali 0980–09FF – https://unicode.org/charts/PDF/U0980.pdf-- Gurmukhi 0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf-- Gujarati 0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf-- Oriya 0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf-- Tamil 0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf-- Telugu 0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf-- Kannada 0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf-- Malayalam 0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf-- plus the not-necessarily Indic scripts for Sinhala and Burmese:-- Sinhala 0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf-- Myanmar 1000-109F - https://unicode.org/charts/PDF/U1000.pdf-- Myanmar extended A AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf-- Myanmar extended B A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf-- the pattern is used by has_invisible_chars() and coins_cleanup()-- TODO: find a better place for this?
local indic_script = '[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]';
--[[--------------------------< L A N G U A G E S >------------------------------------------------------------
]]
local script_lang_codes = { 'am', 'ar', 'be', 'bg', 'bn', 'bs', 'dv', 'el', 'fa', -- ISO 639-1 codes only for |script-title= and |script-chapter= 'fagu', 'he', 'hy', 'ja', 'ka', 'kn', 'ko', 'ku', 'mk', 'ml', 'mn', 'mr', 'my', 'ps', 'ru', 'sd', 'sr', 'tg', 'th', 'uk', 'ug', 'ur', 'yi', 'zh' };
['untitled'] = 'CS1 maint: Untitled periodical',
}
--[[--------------------------< P R O P E R T I E S _ C A T E G O R I E S >------------------------------------
['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
['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926
}
['thesis'] = 'Thesis',
}
--[[--------------------------< E R R O R _ C O N D I T I O N S >----------------------------------------------
anchor = 'bad_issn',
category = 'CS1 errors: ISSN',
hidden = false },
bad_jfm = {
message = 'Check <code style="'..code_style..'">|jfm=</code> value',
anchor = 'bad_jfm',
category = 'CS1 errors: JFM',
hidden = false },
bad_lccn = {
category = 'CS1 errors: LCCN',
hidden = false },
bad_message_id bad_usenet_id = {
message = 'Check <code style="'..code_style..'">|message-id=</code> value',
anchor = 'bad_message_id',
category = 'CS1 errors: message-id',
hidden = false },
bad_mr = {
message = 'Check <code style="'..code_style..'">|mr=</code> value',
anchor = 'bad_mr',
category = 'CS1 errors: MR',
hidden = false },
bad_ol = {
anchor = 'bad_url',
category = 'Pages with URL errors',
hidden = false },
bad_zbl = {
message = 'Check <code style="'..code_style..'">|zbl=</code> value',
anchor = 'bad_zbl',
category = 'CS1 errors: ZBL',
hidden = false },
bare_url_missing_title = {
anchor = 'bare_url_missing_title',
category = 'Pages with citations having bare URLs',
hidden = false },
biorxiv_missing = {
message = '<code style="'..code_style..'">|biorxiv=</code> required',
anchor = 'biorxiv_missing',
category = 'CS1 errors: bioRxiv', -- same as bad bioRxiv
hidden = false },
chapter_ignored = {
anchor = 'citation_missing_title',
category = 'Pages with citations lacking titles',
hidden = false },
citeseerx_missing = {
message = '<code style="'..code_style..'">|citeseerx=</code> required',
anchor = 'citeseerx_missing',
category = 'CS1 errors: citeseerx', -- same as bad citeseerx
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
category = 'CS1 errors: URL–wikilink conflict', -- uses ndash
hidden = false },
}
--[[--------------------------< I D _ H A N D L E R S >--------------------------------------------------------
link = 'Bibcode',
label = 'Bibcode',
-- mode = 'external',
mode = 'manual',
prefix = 'http://adsabs.harvard.edu/abs/',
link = 'Jahrbuch über die Fortschritte der Mathematik',
label = 'JFM',
mode = 'externalmanual',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'pre', -- use prefix value
link = 'Mathematical Reviews',
label = 'MR',
mode = 'externalmanual',
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
COinS = 'pre', -- use prefix value
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'externalmanual',
prefix = '//zbmath.org/?format=complete&q=an:',
COinS = 'pre', -- use prefix value
separator = ' ',
},
}
return {
special_case_translation = special_case_translation,
defaults = defaults,
date_names = date_names,
error_conditions = error_conditions,
id_handlers = id_handlers,
stripmarkers=stripmarkers,
invisible_chars = invisible_chars,
indic_script = indic_script,
maint_cats = maint_cats,
messages = messages,