Anonymous user
Module:Citation/CS1/Configuration/sandbox: Difference between revisions
Module:Citation/CS1/Configuration/sandbox (view source)
Revision as of 13:28, 3 December 2022
, 1 year agono edit summary
Richardpruen (talk | contribs) m (1 revision imported) |
No edit summary |
||
Line 1: | Line 1: | ||
--[[ | --[[ | ||
History of changes since last sync: | History of changes since last sync: 2022-07-01 | ||
2022-07-09: i18n change for uncategorized namespaces; see Help_talk:Citation_Style_1#i18n_uncategorized_namespace_list | |||
2022-07-10: add script tag pa; | |||
2022-08-03: add 'allmusic' to 'generic_names' list; see Help_talk:Citation_Style_1/Archive_85#allmusic | |||
2022-09-22: add support for |article_number= in journal and conference cites; see Help_talk:Citation_Style_1/Archive_85#article_numbers | |||
2022-09-25: create list of single-letter second-level TLDs from main module; add 'foundation'; see Help_talk:Citation_Style_1#CS1_flagging_seemingly_fine_url_as_valid | |||
2022-10-09: update emoji list; see Help_talk:Citation_Style_1#Reconsider_throwing_an_error_on_ZWJ_sequences? | |||
2022-10-23: add 'Reuters', 'Business', 'CNN', 'Inc' and 'Inc.' to 'generic_names' list; see Help_talk:Citation_Style_1#Reuters_and_Business_as_generic_last_names | |||
2022-10-30: add script tag tt; | |||
]] | ]] | ||
local lang_obj = mw.language.getContentLanguage(); -- make a language object for the local language; used here for languages and dates | |||
--[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | ||
List of namespaces that | List of namespaces identifiers for namespaces that will not be included in citation error categories. | ||
Same as setting notracking = true by default. | Same as setting notracking = true by default. | ||
For wikis that have a current version of Module:cs1 documentation support, this #invoke will return an unordered | |||
list of namespace names and their associated identifiers: | |||
{{#invoke:cs1 documentation support|uncategorized_namespace_lister|all=<anything>}} | |||
]] | ]] | ||
uncategorized_namespaces_t = {[2]=true}; -- init with user namespace id | |||
for k, _ in pairs (mw.site.talkNamespaces) do -- add all talk namespace ids | |||
uncategorized_namespaces_t[k] = true; | |||
end | |||
local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases', '/[^/]*[Ll]og', '/[Aa]rchive'}; -- list of Lua patterns found in page names of pages we should not categorize | local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases', '/[^/]*[Ll]og', '/[Aa]rchive'}; -- list of Lua patterns found in page names of pages we should not categorize | ||
Line 85: | Line 80: | ||
['vol'] = '$1 Vol. $2', -- $1 is sepc; bold journal style volume is in presentation{} | ['vol'] = '$1 Vol. $2', -- $1 is sepc; bold journal style volume is in presentation{} | ||
['vol-no'] = '$1 Vol. $2 no. $3', | ['vol-no'] = '$1 Vol. $2, no. $3', -- sepc, volume, issue (alternatively insert $1 after $2, but then we'd also have to change capitalization) | ||
['issue'] = '$1 No. $2', -- $1 is sepc | ['issue'] = '$1 No. $2', -- $1 is sepc | ||
['art'] = '$1 Art. $2', -- $1 is sepc; for {{cite conference}} only | |||
['vol-art'] = '$1 Vol. $2, art. $3', -- sepc, volume, article-number; for {{cite conference}} only | |||
['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} | ['j-vol'] = '$1 $2', -- sepc, volume; bold journal volume is in presentation{} | ||
['j-issue'] = ' ($1)', | ['j-issue'] = ' ($1)', | ||
['j-article-num'] = ' $1', -- TODO: any punctuation here? static text? | |||
['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc | ['nopp'] = '$1 $2'; -- page(s) without prefix; $1 is sepc | ||
Line 133: | Line 132: | ||
used as class attributes in the <cite> tag that encloses the citation so these names may not contain spaces while | used as class attributes in the <cite> tag that encloses the citation so these names may not contain spaces while | ||
the canonical template name may. These names are used in warning_msg_e and warning_msg_m to create links to the | the canonical template name may. These names are used in warning_msg_e and warning_msg_m to create links to the | ||
template's documentation when an article is displayed in | template's documentation when an article is displayed in preview mode. | ||
Most cs1|2 template |CitationClass= values at en.wiki match their canonical template names so are not listed here. | Most cs1|2 template |CitationClass= values at en.wiki match their canonical template names so are not listed here. | ||
Line 140: | Line 139: | ||
local citation_class_map_t = { -- TODO: if kept, these and all other config.CitationClass 'names' require some sort of i18n | local citation_class_map_t = { -- TODO: if kept, these and all other config.CitationClass 'names' require some sort of i18n | ||
['audio-visual'] = 'AV media', | ['audio-visual'] = 'AV media', | ||
['AV-media-notes'] = 'AV media notes', | ['AV-media-notes'] = 'AV media notes', | ||
['encyclopaedia'] = 'encyclopedia', | ['encyclopaedia'] = 'encyclopedia', | ||
Line 156: | Line 155: | ||
local et_al_patterns = { | local et_al_patterns = { | ||
"[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.\"']*$", -- variations on the 'et al' theme | "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.;,\"']*$", -- variations on the 'et al' theme | ||
"[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][AaIi][Ee]?[%.\"']*$", | "[;,]? *[\"']*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][AaIi][Ee]?[%.;,\"']*$", -- variations on the 'et alia', 'et alii' and 'et aliae' themes (false positive 'et aliie' unlikely to match) | ||
"[;,]? *%f[%a]and [Oo]thers", -- an alternative to et al. | "[;,]? *%f[%a]and [Oo]thers", -- an alternative to et al. | ||
"%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]", -- a wikilinked form | "%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]", -- a wikilinked form | ||
"%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)", | "%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)", -- a double-bracketed form (to counter partial removal of ((...)) syntax) | ||
"[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]", -- a bracketed form | "[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]", -- a bracketed form | ||
} | } | ||
Line 211: | Line 186: | ||
['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. | ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. | ||
['interwiki'] = ' <span class="cs1-format">[in $1]</span>', -- for interwiki-language-linked author, editor, etc | |||
['interproj'] = ' <span class="cs1-format">[at $1]</span>', -- for interwiki-project-linked author, editor, etc (:d: and :s: supported; :w: ignored) | |||
-- various access levels, for |access=, |doi-access=, |arxiv=, ... | -- various access levels, for |access=, |doi-access=, |arxiv=, ... | ||
Line 226: | Line 203: | ||
['italic-title'] = "''$1''", | ['italic-title'] = "''$1''", | ||
['kern-left'] = '<span class="cs1-kern-left"> | ['kern-left'] = '<span class="cs1-kern-left"></span>$1', -- spacing to use when title contains leading single or double quote mark | ||
['kern-right'] = '$1<span class="cs1-kern-right"> | ['kern-right'] = '$1<span class="cs1-kern-right"></span>', -- spacing to use when title contains trailing single or double quote mark | ||
['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> | ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> | ||
Line 282: | Line 253: | ||
['ArchiveFormat'] = 'archive-format', | ['ArchiveFormat'] = 'archive-format', | ||
['ArchiveURL'] = {'archive-url', 'archiveurl'}, -- Used by InternetArchiveBot | ['ArchiveURL'] = {'archive-url', 'archiveurl'}, -- Used by InternetArchiveBot | ||
['ArticleNumber'] = 'article-number', | |||
['ASINTLD'] = 'asin-tld', | ['ASINTLD'] = 'asin-tld', | ||
['At'] = 'at', -- Used by InternetArchiveBot | ['At'] = 'at', -- Used by InternetArchiveBot | ||
['Authors'] = {'authors', 'people', 'credits'}, | ['Authors'] = {'authors', 'people', 'credits'}, | ||
['BookTitle'] = 'book-title', | ['BookTitle'] = {'book-title', 'booktitle'}, | ||
['Cartography'] = 'cartography', | ['Cartography'] = 'cartography', | ||
['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ['Chapter'] = {'chapter', 'contribution', 'entry', 'article', 'section'}, | ||
['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', | ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', | ||
'article-format', 'section-format'}; | 'article-format', 'section-format'}; | ||
['ChapterURL'] = {'chapter-url', 'contribution-url', 'entry-url', 'article-url', 'section-url'}, -- Used by InternetArchiveBot | ['ChapterURL'] = {'chapter-url', 'contribution-url', 'entry-url', 'article-url', 'section-url', 'chapterurl'}, -- Used by InternetArchiveBot | ||
['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', | ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', | ||
'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot | 'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot | ||
Line 321: | Line 293: | ||
['LaySource'] = 'lay-source', | ['LaySource'] = 'lay-source', | ||
['LayURL'] = 'lay-url', | ['LayURL'] = 'lay-url', | ||
['MailingList'] = 'mailing-list', | ['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only | ||
['Map'] = 'map', -- cite map only | ['Map'] = 'map', -- cite map only | ||
['MapFormat'] = 'map-format', -- cite map only | ['MapFormat'] = 'map-format', -- cite map only | ||
['MapURL'] = 'map-url', | ['MapURL'] = {'map-url', 'mapurl'}, -- cite map only -- Used by InternetArchiveBot | ||
['MapUrlAccess'] = 'map-url-access', -- cite map only -- Used by InternetArchiveBot | ['MapUrlAccess'] = 'map-url-access', -- cite map only -- Used by InternetArchiveBot | ||
['Minutes'] = 'minutes', | ['Minutes'] = 'minutes', | ||
Line 331: | Line 303: | ||
['Network'] = 'network', | ['Network'] = 'network', | ||
['Newsgroup'] = 'newsgroup', -- cite newsgroup only | ['Newsgroup'] = 'newsgroup', -- cite newsgroup only | ||
['NoPP'] = 'no-pp', | ['NoPP'] = {'no-pp', 'nopp'}, | ||
['NoTracking'] = {'no-tracking', 'template-doc-demo'}, | ['NoTracking'] = {'no-tracking', 'template-doc-demo'}, | ||
['Number'] = 'number', -- this case only for cite techreport | ['Number'] = 'number', -- this case only for cite techreport | ||
Line 341: | Line 313: | ||
['Place'] = {'place', 'location'}, | ['Place'] = {'place', 'location'}, | ||
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
['PublicationDate'] = 'publication-date', | ['PublicationDate'] = {'publication-date', 'publicationdate'}, | ||
['PublicationPlace'] = 'publication-place', | ['PublicationPlace'] = {'publication-place', 'publicationplace'}, | ||
['PublisherName'] = {'publisher', 'institution'}, | ['PublisherName'] = {'publisher', 'institution'}, | ||
['Quote'] = {'quote', 'quotation'}, | ['Quote'] = {'quote', 'quotation'}, | ||
Line 359: | Line 331: | ||
['Sections'] = 'sections', -- cite map only | ['Sections'] = 'sections', -- cite map only | ||
['Series'] = {'series', 'version'}, | ['Series'] = {'series', 'version'}, | ||
['SeriesLink'] = 'series-link', | ['SeriesLink'] = {'series-link', 'serieslink'}, | ||
['SeriesNumber'] = {'series-number', 'series-no'}, | ['SeriesNumber'] = {'series-number', 'series-no'}, | ||
['Sheet'] = 'sheet', -- cite map only | ['Sheet'] = 'sheet', -- cite map only | ||
Line 367: | Line 339: | ||
['TimeCaption'] = 'time-caption', | ['TimeCaption'] = 'time-caption', | ||
['Title'] = 'title', -- Used by InternetArchiveBot | ['Title'] = 'title', -- Used by InternetArchiveBot | ||
['TitleLink'] = {'title-link', 'episode-link'}, | ['TitleLink'] = {'title-link', 'episode-link', 'episodelink'}, -- Used by InternetArchiveBot | ||
['TitleNote'] = 'department', | ['TitleNote'] = 'department', | ||
['TitleType'] = {'type', 'medium'}, | ['TitleType'] = {'type', 'medium'}, | ||
Line 374: | Line 346: | ||
['Transcript'] = 'transcript', | ['Transcript'] = 'transcript', | ||
['TranscriptFormat'] = 'transcript-format', | ['TranscriptFormat'] = 'transcript-format', | ||
['TranscriptURL'] = 'transcript-url', | ['TranscriptURL'] = {'transcript-url', 'transcripturl'}, -- Used by InternetArchiveBot | ||
['TransMap'] = 'trans-map', -- cite map only | ['TransMap'] = 'trans-map', -- cite map only | ||
['TransPeriodical'] = {'trans-journal', 'trans-magazine', 'trans-newspaper', | ['TransPeriodical'] = {'trans-journal', 'trans-magazine', 'trans-newspaper', | ||
Line 431: | Line 403: | ||
]] | ]] | ||
local punct_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value | local punct_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value | ||
'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters | 'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters | ||
Line 465: | Line 438: | ||
local url_skip = {}; | local url_skip = {}; | ||
-- | --[[--------------------------< S I N G L E - L E T T E R S E C O N D - L E V E L D O M A I N S >---------- | ||
-- | |||
-- | this is a list of tlds that are known to have single-letter second-level domain names. This list does not include | ||
-- | ccTLDs which are accepted in is_domain_name(). | ||
-- | |||
-- | ]] | ||
-- | |||
-- | local single_letter_2nd_lvl_domains_t = {'cash', 'company', 'foundation', 'org', 'today'}; | ||
-- | |||
-- | |||
-- | |||
-- | |||
-- | |||
Line 497: | Line 457: | ||
]] | ]] | ||
local is_Latn = 'A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143'; | |||
local special_case_translation = { | local special_case_translation = { | ||
['AuthorList'] = 'authors list', -- used to assemble maintenance category names | ['AuthorList'] = 'authors list', -- used to assemble maintenance category names | ||
['ContributorList'] = 'contributors list', -- translation of these names plus translation of the base | ['ContributorList'] = 'contributors list', -- translation of these names plus translation of the base maintenance category names in maint_cats{} table below | ||
['EditorList'] = 'editors list', -- must match the names of the actual categories | ['EditorList'] = 'editors list', -- must match the names of the actual categories | ||
['InterviewerList'] = 'interviewers list', -- this group or translations used by name_has_ed_markup() and name_has_mult_names() | ['InterviewerList'] = 'interviewers list', -- this group or translations used by name_has_ed_markup() and name_has_mult_names() | ||
Line 513: | Line 473: | ||
-- Lua patterns to match generic titles; usually created by bots or reference filling tools | -- Lua patterns to match generic titles; usually created by bots or reference filling tools | ||
-- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language | -- translators: replace ['local'] = nil with lowercase translation only when bots or tools create generic titles in your language | ||
-- generic titles and patterns in this table should be lowercase only | -- generic titles and patterns in this table should be lowercase only | ||
-- leave ['local'] nil except when there is a matching generic title in your language | -- leave ['local'] nil except when there is a matching generic title in your language | ||
-- boolean 'true' for plain-text searches; 'false' for pattern searches | -- boolean 'true' for plain-text searches; 'false' for pattern searches | ||
{['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, | |||
['generic_titles'] = { | |||
['accept'] = { | |||
}, | |||
['reject'] = { | |||
{['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, | |||
{['en'] = {'are you a robot', true}, ['local'] = nil}, | |||
{['en'] = {'hugedomains.com', true}, ['local'] = nil}, | |||
{['en'] = {'^[%(%[{<]?no +title[>}%]%)]?$', false}, ['local'] = nil}, | |||
{['en'] = {'page not found', true}, ['local'] = nil}, | |||
{['en'] = {'subscribe to read', true}, ['local'] = nil}, | |||
{['en'] = {'^[%(%[{<]?unknown[>}%]%)]?$', false}, ['local'] = nil}, | |||
{['en'] = {'website is for sale', true}, ['local'] = nil}, | |||
{['en'] = {'^404', false}, ['local'] = nil}, | |||
{['en'] = {'internet archive wayback machine', true}, ['local'] = nil}, | |||
{['en'] = {'log into facebook', true}, ['local'] = nil}, | |||
{['en'] = {'login • instagram', true}, ['local'] = nil}, | |||
{['en'] = {'redirecting...', true}, ['local'] = nil}, | |||
{['en'] = {'usurped title', true}, ['local'] = nil}, -- added by a GreenC bot | |||
{['en'] = {'webcite query result', true}, ['local'] = nil}, | |||
{['en'] = {'wikiwix\'s cache', true}, ['local'] = nil}, | |||
} | |||
}, | }, | ||
-- boolean 'true' for plain-text searches, search string must be lowercase only | |||
-- boolean 'false' for pattern searches | |||
-- leave ['local'] nil except when there is a matching generic name in your language | |||
['generic_names'] = { | ['generic_names'] = { | ||
['accept'] = { | |||
{['en'] = {'%[%[[^|]*%(author%) *|[^%]]*%]%]', false}, ['local'] = nil}, | |||
}, | |||
{['en'] = {' | ['reject'] = { | ||
{['en'] = {'about us', true}, ['local'] = nil}, | |||
{['en'] = {'%f[%a][Aa]dvisor%f[%A]', false}, ['local'] = nil}, | |||
{['en'] = {'allmusic', true}, ['local'] = nil}, | |||
{['en'] = {'%f[%a][Aa]uthor%f[%A]', false}, ['local'] = nil}, | |||
{['en'] = {'business', true}, ['local'] = nil}, | |||
{['en'] = {'cnn', true}, ['local'] = nil}, | |||
{['en'] = {'collaborator', true}, ['local'] = nil}, | |||
{['en'] = {'contributor', true}, ['local'] = nil}, | |||
{['en'] = {'contact us', true}, ['local'] = nil}, | |||
{['en'] = {'directory', true}, ['local'] = nil}, | |||
{['en'] = {'%f[%(%[][%(%[]%s*eds?%.?%s*[%)%]]?$', false}, ['local'] = nil}, | |||
{['en'] = {'[,%.%s]%f[e]eds?%.?$', false}, ['local'] = nil}, | |||
{['en'] = {'^eds?[%.,;]', false}, ['local'] = nil}, | |||
{['en'] = {'^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', false}, ['local'] = nil}, | |||
{['en'] = {'%f[%a][Ee]dited%f[%A]', false}, ['local'] = nil}, | |||
{['en'] = {'%f[%a][Ee]ditors?%f[%A]', false}, ['local'] = nil}, | |||
{['en'] = {'%f[%a]]Ee]mail%f[%A]', false}, ['local'] = nil}, | |||
{['en'] = {'facebook', true}, ['local'] = nil}, | |||
{['en'] = {'google', true}, ['local'] = nil}, | |||
{['en'] = {'home page', true}, ['local'] = nil}, | |||
{['en'] = {'^[Ii]nc%.?$', false}, ['local'] = nil}, | |||
{['en'] = {'instagram', true}, ['local'] = nil}, | |||
{['en'] = {'interviewer', true}, ['local'] = nil}, | |||
{['en'] = {'linkedIn', true}, ['local'] = nil}, | |||
{['en'] = {'^[Nn]ews$', false}, ['local'] = nil}, | |||
{['en'] = {'pinterest', true}, ['local'] = nil}, | |||
{['en'] = {'policy', true}, ['local'] = nil}, | |||
{['en'] = {'privacy', true}, ['local'] = nil}, | |||
{['en'] = {'reuters', true}, ['local'] = nil}, | |||
{['en'] = {'translator', true}, ['local'] = nil}, | |||
{['en'] = {'tumblr', true}, ['local'] = nil}, | |||
{['en'] = {'twitter', true}, ['local'] = nil}, | |||
{['en'] = {'site name', true}, ['local'] = nil}, | |||
{['en'] = {'statement', true}, ['local'] = nil}, | |||
{['en'] = {'submitted', true}, ['local'] = nil}, | |||
{['en'] = {'super.?user', false}, ['local'] = nil}, | |||
{['en'] = {'%f['..is_Latn..'][Uu]ser%f[^'..is_Latn..']', false}, ['local'] = nil}, | |||
{['en'] = {'verfasser', true}, ['local'] = nil}, | |||
} | |||
} | |||
} | } | ||
Line 575: | Line 574: | ||
ISO 8601 (EDTF) range of uses for a while. | ISO 8601 (EDTF) range of uses for a while. | ||
]] | local_date_names_from_mediawiki is a boolean. When set to: | ||
true – module will fetch local month names from MediaWiki for both date_names['local']['long'] and date_names['local']['short'] | |||
false – module will *not* fetch local month names from MediaWiki | |||
Caveat lector: There is no guarantee that MediaWiki will provide short month names. At your wiki you can test | |||
the results of the MediaWiki fetch in the debug console with this command (the result is alpha sorted): | |||
=mw.dumpObject (p.date_names['local']) | |||
While the module can fetch month names from MediaWiki, it cannot fetch the quarter, season, and named date names | |||
from MediaWiki. Those must be translated manually. | |||
]] | |||
local local_date_names_from_mediawiki = true; -- when false, manual translation required for date_names['local']['long'] and date_names['local']['short'] | |||
-- when true, module fetches long and short month names from MediaWiki | |||
local date_names = { | local date_names = { | ||
['en'] = { -- English | ['en'] = { -- English | ||
Line 585: | Line 597: | ||
['named'] = {['Easter'] = 98, ['Christmas'] = 99}, | ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, | ||
}, | }, | ||
-- when local_date_names_from_mediawiki = false | |||
['local'] = { -- replace these English date names with the local language equivalents | ['local'] = { -- replace these English date names with the local language equivalents | ||
['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, | ['long'] = {['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12}, | ||
Line 592: | Line 605: | ||
['named'] = {['Easter'] = 98, ['Christmas'] = 99}, | ['named'] = {['Easter'] = 98, ['Christmas'] = 99}, | ||
}, | }, | ||
[' | ['inv_local_long'] = {}, -- used in date reformatting & translation; copy of date_names['local'].long where k/v are inverted: [1]='<local name>' etc. | ||
[' | ['inv_local_short'] = {}, -- used in date reformatting & translation; copy of date_names['local'].short where k/v are inverted: [1]='<local name>' etc. | ||
['inv_local_quarter'] = {}, -- used in date translation; copy of date_names['local'].quarter where k/v are inverted: [1]='<local name>' etc. | |||
['inv_local_season'] = {}, -- used in date translation; copy of date_names['local'].season where k/v are inverted: [1]='<local name>' etc. | |||
['inv_local_named'] = {}, -- used in date translation; copy of date_names['local'].named where k/v are inverted: [1]='<local name>' etc. | |||
['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}, -- used to convert local language digits to Western 0-9 | ['local_digits'] = {['0'] = '0', ['1'] = '1', ['2'] = '2', ['3'] = '3', ['4'] = '4', ['5'] = '5', ['6'] = '6', ['7'] = '7', ['8'] = '8', ['9'] = '9'}, -- used to convert local language digits to Western 0-9 | ||
['xlate_digits'] = {}, | ['xlate_digits'] = {}, | ||
} | } | ||
for name, i | if local_date_names_from_mediawiki then -- if fetching local month names from MediaWiki is enabled | ||
date_names[' | local long_t = {}; | ||
local short_t = {}; | |||
for i=1, 12 do -- loop 12x and | |||
local name = lang_obj:formatDate('F', '2022-' .. i .. '-1'); -- get long month name for each i | |||
long_t[name] = i; -- save it | |||
name = lang_obj:formatDate('M', '2022-' .. i .. '-1'); -- get short month name for each i | |||
short_t[name] = i; -- save it | |||
end | |||
date_names['local']['long'] = long_t; -- write the long table – overwrites manual translation | |||
date_names['local']['short'] = short_t; -- write the short table – overwrites manual translation | |||
end | end | ||
-- create inverted date-name tables for reformatting and/or translation | |||
for name, i in pairs (date_names['local'] | for _, invert_t in pairs {{'long', 'inv_local_long'}, {'short', 'inv_local_short'}, {'quarter', 'inv_local_quarter'}, {'season', 'inv_local_season'}, {'named', 'inv_local_named'}} do | ||
for name, i in pairs (date_names['local'][invert_t[1]]) do -- this table is ['name'] = i | |||
date_names[invert_t[2]][i] = name; -- invert to get [i] = 'name' for conversions from ymd | |||
end | |||
end | end | ||
Line 627: | Line 654: | ||
local function get_date_format () | local function get_date_format () | ||
local | local title_object = mw.title.getCurrentTitle(); | ||
if title_object.namespace == 10 then -- not in template space so that unused templates appear in unused-template-reports; | |||
return nil; -- auto-formatting does not work in Template space so don't set global_df | |||
end | |||
local content = title_object:getContent() or ''; -- get the content of the article or ''; new pages edited w/ve do not have 'content' until saved; ve does not preview; phab:T221625 | |||
for _, pattern in ipairs (df_template_patterns) do -- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects | for _, pattern in ipairs (df_template_patterns) do -- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects | ||
local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format | local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format | ||
Line 641: | Line 672: | ||
end | end | ||
local global_df | local global_df; | ||
Line 656: | Line 687: | ||
local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | local templates_not_using_page = {'audio-visual', 'episode', 'mailinglist', 'newsgroup', 'podcast', 'serial', 'sign', 'speech'} | ||
--[[ | |||
These tables control when it is appropriate for {{citation}} to render |volume= and/or |issue=. The parameter | |||
names in the tables constrain {{citation}} so that its renderings match the renderings of the equivalent cs1 | |||
templates. For example, {{cite web}} does not support |volume= so the equivalent {{citation |website=...}} must | |||
not support |volume=. | |||
]] | |||
local citation_no_volume_t = { -- {{citation}} does not render |volume= when these parameters are used | |||
'website', 'mailinglist', 'script-website', | |||
} | |||
local citation_issue_t = { -- {{citation}} may render |issue= when these parameters are used | |||
'journal', 'magazine', 'newspaper', 'periodical', 'work', | |||
'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-work', | |||
} | |||
--[[ | --[[ | ||
Line 872: | Line 919: | ||
--[[ | --[[ | ||
Indic script makes use of zero width joiner as a character modifier so zwj | 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 | characters must be left in. This pattern covers all of the unicode characters | ||
Line 896: | Line 944: | ||
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]'; | 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]'; | ||
-- list of emoji that use zwj character (U+200D) to combine with another emoji | -- list of emoji that use a zwj character (U+200D) to combine with another emoji | ||
local | -- from: https://unicode.org/Public/emoji/15.0/emoji-zwj-sequences.txt; version: 15.0; 2022-05-06 | ||
-- table created by: [[:en:Module:Make emoji zwj table]] | |||
local emoji_t = { -- indexes are decimal forms of the hex values in U+xxxx | |||
[9760] = true, -- U+2620 ☠ skull and crossbones | |||
[9792] = true, -- U+2640 ♀ female sign | |||
[9794] = true, -- U+2642 ♂ male sign | |||
[9877] = true, -- U+2695 ⚕ staff of aesculapius | |||
[9878] = true, -- U+2696 ⚖ scales | |||
[9895] = true, -- U+26A7 ⚧ male with stroke and male and female sign | |||
[9992] = true, -- U+2708 ✈ airplane | |||
[10052] = true, -- U+2744 ❄ snowflake | |||
[10084] = true, -- U+2764 ❤ heavy black heart | |||
[11035] = true, -- U+2B1B ⬛ black large square | |||
[127752] = true, -- U+1F308 🌈 rainbow | [127752] = true, -- U+1F308 🌈 rainbow | ||
[127787] = true, -- U+1F32B 🌫 fog | |||
[127806] = true, -- U+1F33E 🌾 ear of rice | [127806] = true, -- U+1F33E 🌾 ear of rice | ||
[127859] = true, -- U+1F373 🍳 cooking | [127859] = true, -- U+1F373 🍳 cooking | ||
[127868] = true, -- U+1F37C 🍼 baby bottle | |||
[127876] = true, -- U+1F384 🎄 christmas tree | |||
[127891] = true, -- U+1F393 🎓 graduation cap | [127891] = true, -- U+1F393 🎓 graduation cap | ||
[127908] = true, -- U+1F3A4 🎤 microphone | [127908] = true, -- U+1F3A4 🎤 microphone | ||
Line 911: | Line 974: | ||
[128105] = true, -- U+1F469 👩 woman | [128105] = true, -- U+1F469 👩 woman | ||
[128139] = true, -- U+1F48B 💋 kiss mark | [128139] = true, -- U+1F48B 💋 kiss mark | ||
[128168] = true, -- U+1F4A8 💨 dash symbol | |||
[128171] = true, -- U+1F4AB 💫 dizzy symbol | |||
[128187] = true, -- U+1F4BB 💻 personal computer | [128187] = true, -- U+1F4BB 💻 personal computer | ||
[128188] = true, -- U+1F4BC 💼 brief case | [128188] = true, -- U+1F4BC 💼 brief case | ||
[128293] = true, -- U+1F525 🔥 fire | |||
[128295] = true, -- U+1F527 🔧 wrench | [128295] = true, -- U+1F527 🔧 wrench | ||
[128300] = true, -- U+1F52C 🔬 microscope | [128300] = true, -- U+1F52C 🔬 microscope | ||
Line 928: | Line 994: | ||
[129469] = true, -- U+1F9BD 🦽 manual wheelchair | [129469] = true, -- U+1F9BD 🦽 manual wheelchair | ||
[129489] = true, -- U+1F9D1 🧑 adult | [129489] = true, -- U+1F9D1 🧑 adult | ||
[ | [129657] = true, -- U+1FA79 🩹 adhesive bandage | ||
[ | [129778] = true, -- U+1FAF2 🫲 leftwards hand | ||
} | } | ||
Line 944: | Line 1,005: | ||
]] | ]] | ||
local this_wiki_code = mw.getContentLanguage():getCode(); -- get this wiki's language code | --local this_wiki_code = mw.getContentLanguage():getCode(); -- get this wiki's language code | ||
local this_wiki_code = lang_obj:getCode(); -- get this wiki's language code | |||
if string.match (mw.site.server, 'wikidata') then | |||
this_wiki_code = mw.getCurrentFrame():preprocess('{{int:lang}}'); -- on Wikidata so use interface language setting instead | this_wiki_code = mw.getCurrentFrame():preprocess('{{int:lang}}'); -- on Wikidata so use interface language setting instead | ||
end | end | ||
local | local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_code, 'all'); -- get a table of language tag/name pairs known to Wikimedia; used for interwiki tests | ||
local mw_languages_by_name_t = {}; | |||
for k, v in pairs (mw_languages_by_tag_t) do -- build a 'reversed' table name/tag language pairs know to MediaWiki; used for |language= | |||
v = mw.ustring.lower (v); -- lowercase for tag fetch; get name's proper case from mw_languages_by_tag_t[<tag>] | |||
if mw_languages_by_name_t[v] then -- when name already in the table | |||
if 2 == #k or 3 == #k then -- if tag does not have subtags | |||
mw_languages_by_name_t[v] = k; -- prefer the shortest tag for this name | |||
end | |||
else -- here when name not in the table | |||
mw_languages_by_name_t[v] = k; -- so add name and matching tag | |||
end | |||
end | |||
local inter_wiki_map = {}; -- map of interwiki prefixes that are language-code prefixes | local inter_wiki_map = {}; -- map of interwiki prefixes that are language-code prefixes | ||
for k, v in pairs (mw.site.interwikiMap ('local')) do -- spin through the base interwiki map (limited to local) | for k, v in pairs (mw.site.interwikiMap ('local')) do -- spin through the base interwiki map (limited to local) | ||
if | if mw_languages_by_tag_t[v["prefix"]] then -- if the prefix matches a known language tag | ||
inter_wiki_map[v["prefix"]] = true; -- add it to our local map | inter_wiki_map[v["prefix"]] = true; -- add it to our local map | ||
end | end | ||
Line 969: | Line 1,042: | ||
'ab', 'am', 'ar', 'be', 'bg', 'bn', 'bo', 'bs', 'dv', 'dz', 'el', 'fa', 'gu', | 'ab', 'am', 'ar', 'be', 'bg', 'bn', 'bo', 'bs', 'dv', 'dz', 'el', 'fa', 'gu', | ||
'he', 'hi', 'hy', 'ja', 'ka', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', | 'he', 'hi', 'hy', 'ja', 'ka', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', | ||
'ml', 'mn', 'mr', 'my', 'ne', 'or', 'ota', 'ps', 'ru', 'sd', 'si', 'sr', | 'ml', 'mn', 'mr', 'my', 'ne', 'or', 'ota', 'pa', 'ps', 'ru', 'sd', 'si', 'sr', | ||
'ta', 'te', 'tg', 'th', 'ti', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh' | 'syc', 'ta', 'te', 'tg', 'th', 'ti', 'tt', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh' | ||
}; | }; | ||
Line 1,000: | Line 1,073: | ||
['bn'] = 'Bengali', -- MediaWiki returns Bangla | ['bn'] = 'Bengali', -- MediaWiki returns Bangla | ||
['ca-valencia'] = 'Valencian', -- IETF variant of Catalan | ['ca-valencia'] = 'Valencian', -- IETF variant of Catalan | ||
['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | ['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | ||
['ksh'] = 'Kölsch', -- MediaWiki: Colognian; use IANA/ISO 639 preferred name | ['ksh'] = 'Kölsch', -- MediaWiki: Colognian; use IANA/ISO 639 preferred name | ||
Line 1,006: | Line 1,078: | ||
['mis-x-ripuar'] = 'Ripuarian', -- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data | ['mis-x-ripuar'] = 'Ripuarian', -- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data | ||
['nan-tw'] = 'Taiwanese Hokkien', -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name | ['nan-tw'] = 'Taiwanese Hokkien', -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name | ||
} | } | ||
local lang_name_remap = { -- used for |language= | local lang_name_remap = { -- used for |language=; names require proper capitalization; tags must be lowercase | ||
['alemannisch'] = {'Swiss German', 'gsw'}, -- not an ISO or IANA language name; MediaWiki uses 'als' as a subdomain name for Alemannic Wikipedia: als.wikipedia.org | ['alemannisch'] = {'Swiss German', 'gsw'}, -- not an ISO or IANA language name; MediaWiki uses 'als' as a subdomain name for Alemannic Wikipedia: als.wikipedia.org | ||
['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap | ['bangla'] = {'Bengali', 'bn'}, -- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap | ||
Line 1,018: | Line 1,088: | ||
['blackfoot'] = {'Blackfoot', 'bla'}, -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name | ['blackfoot'] = {'Blackfoot', 'bla'}, -- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name | ||
['colognian'] = {'Colognian', 'ksh-x-colog'}, -- MediaWiki preferred name for ksh | ['colognian'] = {'Colognian', 'ksh-x-colog'}, -- MediaWiki preferred name for ksh | ||
['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | ['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | ||
['kolsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö) | ['kolsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö) | ||
['kölsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name | ['kölsch'] = {'Kölsch', 'ksh'}, -- use IANA/ISO 639 preferred name | ||
['ripuarian'] = {'Ripuarian', 'mis-x-ripuar'}, -- group of dialects; no code in MediaWiki or in IANA/ISO 639 | ['ripuarian'] = {'Ripuarian', 'mis-x-ripuar'}, -- group of dialects; no code in MediaWiki or in IANA/ISO 639 | ||
['taiwanese hokkien'] = {'Taiwanese Hokkien', 'nan- | ['taiwanese hokkien'] = {'Taiwanese Hokkien', 'nan-tw'}, -- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese | ||
['tosk albanian'] = {'Tosk Albanian', 'als'}, -- MediaWiki replaces 'Tosk Albanian' with 'Alemannisch' so 'Tosk Albanian' cannot be found | ['tosk albanian'] = {'Tosk Albanian', 'als'}, -- MediaWiki replaces 'Tosk Albanian' with 'Alemannisch' so 'Tosk Albanian' cannot be found | ||
['valencian'] = {'Valencian', 'ca'}, -- variant of Catalan; categorizes as Catalan | ['valencian'] = {'Valencian', 'ca'}, -- variant of Catalan; categorizes as Catalan | ||
Line 1,045: | Line 1,110: | ||
['local-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false | ['local-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false | ||
['location-test'] = 'CS1 location test', | ['location-test'] = 'CS1 location test', | ||
['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 | ['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 characters | ||
['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | ||
['tracked-param'] = 'CS1 | ['tracked-param'] = 'CS1 tracked parameter: $1', -- $1 is base (enumerators removed) parameter name | ||
['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form | ['year-range-abbreviated'] = 'CS1: abbreviated year range', -- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form | ||
} | } | ||
Line 1,090: | Line 1,155: | ||
['group'] = 'invalid group id', -- |isbn= | ['group'] = 'invalid group id', -- |isbn= | ||
['initials'] = 'initials', -- Vancouver | ['initials'] = 'initials', -- Vancouver | ||
['invalid language code'] = 'invalid language code', -- |script-<param>= | |||
['journal'] = 'journal', -- |bibcode= | ['journal'] = 'journal', -- |bibcode= | ||
['length'] = 'length', -- |isbn=, |bibcode=, |sbn= | ['length'] = 'length', -- |isbn=, |bibcode=, |sbn= | ||
['liveweb'] = 'liveweb', -- |archive-url= | ['liveweb'] = 'liveweb', -- |archive-url= | ||
['missing comma'] = 'missing comma', -- Vancouver | ['missing comma'] = 'missing comma', -- Vancouver | ||
['missing prefix'] = 'missing prefix', -- |script-<param>= | |||
['missing title part'] = 'missing title part', -- |script-<param>= | |||
['name'] = 'name', -- Vancouver | ['name'] = 'name', -- Vancouver | ||
['non-Latin char'] = 'non-Latin character', -- Vancouver | ['non-Latin char'] = 'non-Latin character', -- Vancouver | ||
Line 1,102: | Line 1,170: | ||
['suffix'] = 'suffix', -- Vancouver | ['suffix'] = 'suffix', -- Vancouver | ||
['timestamp'] = 'timestamp', -- |archive-url= | ['timestamp'] = 'timestamp', -- |archive-url= | ||
['unknown language code'] = 'unknown language code', -- |script-<param>= | |||
['value'] = 'value', -- |bibcode= | ['value'] = 'value', -- |bibcode= | ||
['year'] = 'year', -- |bibcode= | ['year'] = 'year', -- |bibcode= | ||
Line 1,457: | Line 1,526: | ||
message = '<code class="cs1-code">|$1=</code> missing <code class="cs1-code">|$2=</code>', -- $1 is first alias, $2 is matching last alias | message = '<code class="cs1-code">|$1=</code> missing <code class="cs1-code">|$2=</code>', -- $1 is first alias, $2 is matching last alias | ||
anchor = 'first_missing_last', | anchor = 'first_missing_last', | ||
category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | ||
hidden = false | hidden = false | ||
}, | }, | ||
Line 1,588: | Line 1,657: | ||
]] | ]] | ||
maint_archived_copy = { | maint_archived_copy = { | ||
message = nil, | message = nil, | ||
Line 1,646: | Line 1,716: | ||
anchor = 'extra_punct', | anchor = 'extra_punct', | ||
category = 'CS1 maint: extra punctuation', | category = 'CS1 maint: extra punctuation', | ||
hidden = true, | hidden = true, | ||
}, | }, | ||
Line 1,677: | Line 1,741: | ||
category = 'CS1 maint: location', | category = 'CS1 maint: location', | ||
hidden = true, | hidden = true, | ||
}, | |||
maint_mr_format = { | maint_mr_format = { | ||
message = nil, | message = nil, | ||
Line 1,683: | Line 1,747: | ||
category = 'CS1 maint: MR format', | category = 'CS1 maint: MR format', | ||
hidden = true, | hidden = true, | ||
}, | |||
maint_mult_names = { | maint_mult_names = { | ||
message = nil, | message = nil, | ||
Line 1,707: | Line 1,771: | ||
category = 'CS1 maint: others in cite AV media (notes)', | category = 'CS1 maint: others in cite AV media (notes)', | ||
hidden = true, | hidden = true, | ||
}, | |||
maint_pmc_embargo = { | maint_pmc_embargo = { | ||
message = nil, | message = nil, | ||
Line 1,775: | Line 1,839: | ||
redirect: a local redirect to a local Wikipedia article name; at en.wiki, 'ISBN (identifier)' is a redirect to 'International Standard Book Number' | redirect: a local redirect to a local Wikipedia article name; at en.wiki, 'ISBN (identifier)' is a redirect to 'International Standard Book Number' | ||
q: Wikidata q number for the identifier | q: Wikidata q number for the identifier | ||
label: the label | label: the label preceding the identifier; label is linked to a Wikipedia article (in this order): | ||
redirect from id_handlers['<id>'].redirect when use_identifier_redirects is true | redirect from id_handlers['<id>'].redirect when use_identifier_redirects is true | ||
Wikidata-supplied article name for the local wiki from id_handlers['<id>'].q | Wikidata-supplied article name for the local wiki from id_handlers['<id>'].q | ||
Line 1,794: | Line 1,858: | ||
custom_access: to enable custom access level for an identifier, set this parameter | custom_access: to enable custom access level for an identifier, set this parameter | ||
to the parameter that should control it (normally 'id-access') | to the parameter that should control it (normally 'id-access') | ||
]] | ]] | ||
Line 2,001: | Line 2,066: | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 23010000, | ||
custom_access = 'osti-access', | custom_access = 'osti-access', | ||
}, | }, | ||
Line 2,015: | Line 2,080: | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 9900000, | ||
access = 'free', -- free to read | access = 'free', -- free to read | ||
}, | }, | ||
Line 2,028: | Line 2,093: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 36900000, | ||
}, | }, | ||
['RFC'] = { | ['RFC'] = { | ||
Line 2,040: | Line 2,105: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 9300, | ||
access = 'free', -- free to read | access = 'free', -- free to read | ||
}, | }, | ||
Line 2,058: | Line 2,123: | ||
q = 'Q7550801', | q = 'Q7550801', | ||
label = 'SSRN', | label = 'SSRN', | ||
prefix = '//ssrn.com/ | prefix = '//papers.ssrn.com/sol3/papers.cfm?abstract_id=', | ||
COinS = 'pre', -- use prefix value | COinS = 'pre', -- use prefix value | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 4300000, | ||
custom_access = 'ssrn-access', | custom_access = 'ssrn-access', | ||
}, | }, | ||
Line 2,075: | Line 2,140: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
id_limit = | id_limit = 256000000, | ||
custom_access = 's2cid-access', | custom_access = 's2cid-access', | ||
}, | }, | ||
Line 2,112: | Line 2,177: | ||
date_digit_auto_xlate_enable = false; -- when true translates Western date digit to the local-wiki's language digits (date_names['local_digits']); always false at en.wiki | date_digit_auto_xlate_enable = false; -- when true translates Western date digit to the local-wiki's language digits (date_names['local_digits']); always false at en.wiki | ||
-- tables and variables created when this module is loaded | |||
global_df = get_date_format (), -- this line can be replaced with "global_df = 'dmy-all'," to have all dates auto translated to dmy format. | |||
punct_skip = build_skip_table (punct_skip, punct_meta_params), | punct_skip = build_skip_table (punct_skip, punct_meta_params), | ||
url_skip = build_skip_table (url_skip, url_meta_params), | url_skip = build_skip_table (url_skip, url_meta_params), | ||
Line 2,122: | Line 2,189: | ||
editor_markup_patterns = editor_markup_patterns, | editor_markup_patterns = editor_markup_patterns, | ||
et_al_patterns = et_al_patterns, | et_al_patterns = et_al_patterns, | ||
id_handlers = id_handlers, | id_handlers = id_handlers, | ||
keywords_lists = keywords_lists, | keywords_lists = keywords_lists, | ||
keywords_xlate = keywords_xlate, | keywords_xlate = keywords_xlate, | ||
stripmarkers=stripmarkers, | stripmarkers = stripmarkers, | ||
invisible_chars = invisible_chars, | invisible_chars = invisible_chars, | ||
invisible_defs = invisible_defs, | invisible_defs = invisible_defs, | ||
indic_script = indic_script, | indic_script = indic_script, | ||
emoji_t = emoji_t, | |||
maint_cats = maint_cats, | maint_cats = maint_cats, | ||
messages = messages, | messages = messages, | ||
presentation = presentation, | presentation = presentation, | ||
prop_cats = prop_cats, | prop_cats = prop_cats, | ||
script_lang_codes = script_lang_codes, | script_lang_codes = script_lang_codes, | ||
lang_code_remap = lang_code_remap, | lang_code_remap = lang_code_remap, | ||
Line 2,142: | Line 2,206: | ||
this_wiki_code = this_wiki_code, | this_wiki_code = this_wiki_code, | ||
title_types = title_types, | title_types = title_types, | ||
uncategorized_namespaces = | uncategorized_namespaces = uncategorized_namespaces_t, | ||
uncategorized_subpages = uncategorized_subpages, | uncategorized_subpages = uncategorized_subpages, | ||
templates_using_volume = templates_using_volume, | templates_using_volume = templates_using_volume, | ||
Line 2,148: | Line 2,212: | ||
templates_not_using_page = templates_not_using_page, | templates_not_using_page = templates_not_using_page, | ||
vol_iss_pg_patterns = vol_iss_pg_patterns, | vol_iss_pg_patterns = vol_iss_pg_patterns, | ||
single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t, | |||
inter_wiki_map = inter_wiki_map, | inter_wiki_map = inter_wiki_map, | ||
mw_languages_by_tag_t = mw_languages_by_tag_t, | |||
mw_languages_by_name_t = mw_languages_by_name_t, | |||
citation_class_map_t = citation_class_map_t, | citation_class_map_t = citation_class_map_t, | ||
citation_issue_t = citation_issue_t, | |||
citation_no_volume_t = citation_no_volume_t, | |||
} | } |