Line 1: |
Line 1: |
− |
| |
| --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ | | --[[--------------------------< U N C A T E G O R I Z E D _ N A M E S P A C E S >------------------------------ |
| | | |
Line 11: |
Line 10: |
| local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', | | local uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', |
| 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', | | 'File_talk', 'Template_talk', 'Help_talk', 'Category_talk', 'Portal_talk', |
− | 'Book_talk', 'Draft_talk', 'Module_talk', 'MediaWiki_talk' }; | + | 'Book_talk', 'Draft_talk', 'Education_Program_talk', 'Module_talk', 'MediaWiki_talk' }; |
| 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 61: |
Line 60: |
| | | |
| ['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', -- sepc, volume, issue | + | ['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 |
| | | |
Line 93: |
Line 92: |
| -- Internal errors (should only occur if configuration is bad) | | -- Internal errors (should only occur if configuration is bad) |
| ['undefined_error'] = 'Called with an undefined error condition', | | ['undefined_error'] = 'Called with an undefined error condition', |
− | ['unknown_ID_key'] = 'Unrecognized ID key', -- an ID key in id_handlers not found in ~/Identifiers func_map{} | + | ['unknown_ID_key'] = 'Unrecognized ID key: ', -- an ID key in id_handlers not found in ~/Identifiers func_map{} |
| + | ['unknown_ID_access'] = 'Unrecognized ID access keyword: ', -- an ID access keyword in id_handlers not found in keywords_lists['id-access']{} |
| ['unknown_argument_map'] = 'Argument map not defined for this variable', | | ['unknown_argument_map'] = 'Argument map not defined for this variable', |
| ['bare_url_no_origin'] = 'Bare URL found but origin indicator is nil or empty', | | ['bare_url_no_origin'] = 'Bare URL found but origin indicator is nil or empty', |
| + | |
| + | ['warning_msg_e'] = '<span style="color:#d33">One or more <code style="color: inherit; background: inherit; border: none; padding: inherit;">{{$1}}</code> templates have errors</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link |
| + | ['warning_msg_m'] = '<span style="color:#3a3">One or more <code style="color: inherit; background: inherit; border: none; padding: inherit;">{{$1}}</code> templates have maintenance messages</span>; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).'; -- $1 is template link |
| } | | } |
| + | |
| + | |
| + | --[[--------------------------< C I T A T I O N _ C L A S S _ M A P >------------------------------------------ |
| + | |
| + | this table maps the value assigned to |CitationClass= in the cs1|2 templates to the canonical template name when |
| + | the value assigned to |CitationClass= is different from the canonical template name. |CitationClass= values are |
| + | 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 |
| + | template's documentation when an article is displayed in preivew mode. |
| + | |
| + | Most cs1|2 template |CitationClass= values at en.wiki match their canonical template names so are not listed here. |
| + | |
| + | ]] |
| + | |
| + | local citation_class_map_t = { -- TODO: if kept, these and all other config.CitationClass 'names' require some sort of i18n |
| + | ['audio-visual'] = 'AV media', -- TODO: move to ~/Configuration |
| + | ['AV-media-notes'] = 'AV media notes', |
| + | ['encyclopaedia'] = 'encyclopedia', |
| + | ['mailinglist'] = 'mailing list', |
| + | ['pressrelease'] = 'press release' |
| + | } |
| | | |
| | | |
Line 113: |
Line 137: |
| "%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)", -- a double-bracketed form (to counter partial removal of ((...)) syntax) | | "%(%( *[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 |
− | }
| |
− |
| |
− |
| |
− | --[[--------------------------< E D I T O R _ M A R K U P _ P A T T E R N S >----------------------------------
| |
− |
| |
− | This table provides Lua patterns for the phrase "ed" and variants in name text
| |
− | (author, editor, etc.). The main module uses these to identify and emit the
| |
− | 'extra_text_names' message. (It is not the only series of patterns for this message.)
| |
− |
| |
− | ]]
| |
− | local editor_markup_patterns = { -- these patterns match annotations at end of name
| |
− | '%f[%(%[][%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]?$', -- (ed) or (eds): leading '(', case insensitive 'ed', optional 's', '.' and/or ')'
| |
− | '[,%.%s]%f[e]eds?%.?$', -- ed or eds: without '('or ')'; case sensitive (ED could be initials Ed could be name)
| |
− | '%f[%(%[][%(%[]%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?%s*[%)%]]?$', -- (editor) or (editors): leading '(', case insensitive, optional '.' and/or ')'
| |
− | '[,%.%s]%f[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?$', -- editor or editors: without '('or ')'; case insensitive
| |
− |
| |
− | -- these patterns match annotations at beginning of name
| |
− | '^eds?[%.,;]', -- ed. or eds.: lower case only, optional 's', requires '.'
| |
− | '^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]', -- (ed) or (eds): also sqare brackets, case insensitive, optional 's', '.'
| |
− | '^[%(%[]?%s*[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%A', -- (editor or (editors: also square brackets, case insensitive, optional brackets, 's'
| |
− | '^[%(%[]?%s*[Ee][Dd][Ii][Tt][Ee][Dd]%A', -- (edited: also square brackets, case insensitive, optional brackets
| |
− |
| |
− | -- these patterns match annotations that are the 'name'
| |
− | '^[Ee][Dd][Ii][Tt][Oo][Rr][Ss]?%.?$', -- editor or editors; case insensitive
| |
| } | | } |
| | | |
Line 149: |
Line 149: |
| local presentation = | | local presentation = |
| { | | { |
− | -- 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 | | -- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display |
− | ['hidden-error'] = '<span class="cs1-hidden-error error citation-comment">$1</span>', | + | ['hidden-error'] = '<span class="cs1-hidden-error citation-comment">$1</span>', |
− | ['visible-error'] = '<span class="cs1-visible-error error citation-comment">$1</span>', | + | ['visible-error'] = '<span class="cs1-visible-error citation-comment">$1</span>', |
| ['hidden-maint'] = '<span class="cs1-maint citation-comment">$1</span>', | | ['hidden-maint'] = '<span class="cs1-maint citation-comment">$1</span>', |
| | | |
Line 160: |
Line 158: |
| ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like | | ['bdi'] = '<bdi$1>$2</bdi>', -- bidirectional isolation used with |script-title= and the like |
| | | |
− | ['cite'] = '<cite class="$1">$2</cite>'; -- |ref= not set so no id="..." attribute | + | ['cite'] = '<cite class="$1">$2</cite>'; -- for use when citation does not have a namelist and |ref= not set so no id="..." attribute |
− | ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when |ref= is set | + | ['cite-id'] = '<cite id="$1" class="$2">$3</cite>'; -- for use when when |ref= is set or when citation has a namelist |
| | | |
| ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. | | ['format'] = ' <span class="cs1-format">($1)</span>', -- for |format=, |chapter-format=, etc. |
Line 179: |
Line 177: |
| ['italic-title'] = "''$1''", | | ['italic-title'] = "''$1''", |
| | | |
− | ['kern-left'] = '<span class="cs1-kern-left">$1</span>$2', -- spacing to use when title contains leading single or double quote mark | + | ['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">$2</span>', -- spacing to use when title contains trailing single or double quote mark | + | ['kern-right'] = '$1<span class="cs1-kern-right"></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 class="cs1-kern-wl-left">$1</span>', -- when title contains leading single or double quote mark
| |
− | ['kern-wl-right'] = '<span class="cs1-kern-wl-left">$1</span>', -- when title contains trailing single or double quote mark
| |
− | ['kern-wl-both'] = '<span class="cs1-kern-wl-left cs1-kern-wl-right">$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> | | ['nowrap1'] = '<span class="nowrap">$1</span>', -- for nowrapping an item: <span ...>yyyy-mm-dd</span> |
Line 194: |
Line 186: |
| | | |
| ['parameter'] = '<code class="cs1-code">|$1=</code>', | | ['parameter'] = '<code class="cs1-code">|$1=</code>', |
− |
| + | |
| ['ps_cs1'] = '.'; -- CS1 style postscript (terminal) character | | ['ps_cs1'] = '.'; -- CS1 style postscript (terminal) character |
| ['ps_cs2'] = ''; -- CS2 style postscript (terminal) character (empty string) | | ['ps_cs2'] = ''; -- CS2 style postscript (terminal) character (empty string) |
Line 243: |
Line 235: |
| ['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', | + | ['ChapterURL'] = {'chapter-url', 'contribution-url', 'entry-url', 'article-url', 'section-url', 'chapterurl'}, -- Used by InternetArchiveBot |
− | '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 |
− | ['Class'] = 'class', -- cite arxiv and arxiv identifiers | + | ['Class'] = 'class', -- cite arxiv and arxiv identifier |
| ['Collaboration'] = 'collaboration', | | ['Collaboration'] = 'collaboration', |
| ['Conference'] = {'conference', 'event'}, | | ['Conference'] = {'conference', 'event'}, |
Line 386: |
Line 377: |
| ]] | | ]] |
| | | |
− | local punct_skip = {}; | + | local punct_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value |
− | | |
− | local meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value
| |
| 'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters | | 'BookTitle', 'Chapter', 'ScriptChapter', 'ScriptTitle', 'Title', 'TransChapter', 'Transcript', 'TransMap', 'TransTitle', -- title-holding parameters |
| 'AuthorList-Mask', 'ContributorList-Mask', 'EditorList-Mask', 'InterviewerList-Mask', 'TranslatorList-Mask', -- name-list mask may have name separators | | 'AuthorList-Mask', 'ContributorList-Mask', 'EditorList-Mask', 'InterviewerList-Mask', 'TranslatorList-Mask', -- name-list mask may have name separators |
− | 'PostScript', 'Quote', 'ScriptQuote', 'TransQuote', 'Ref', -- miscellaneous | + | 'PostScript', 'Quote', 'ScriptQuote', 'TransQuote', 'Ref', -- miscellaneous |
| 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'LayURL', 'MapURL', 'TranscriptURL', 'URL', -- URL-holding parameters | | 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'LayURL', 'MapURL', 'TranscriptURL', 'URL', -- URL-holding parameters |
| } | | } |
| | | |
| + | local url_meta_params = { -- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value |
| + | 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'ID', 'LayURL', 'MapURL', 'TranscriptURL', 'URL', -- parameters allowed to hold urls |
| + | 'Page', 'Pages', 'At', 'QuotePage', 'QuotePages', -- insource locators allowed to hold urls |
| + | } |
| + | |
| + | local function build_skip_table (skip_t, meta_params) |
| for _, meta_param in ipairs (meta_params) do -- for each meta parameter key | | for _, meta_param in ipairs (meta_params) do -- for each meta parameter key |
| local params = aliases[meta_param]; -- get the parameter or the table of parameters associated with the meta parameter name | | local params = aliases[meta_param]; -- get the parameter or the table of parameters associated with the meta parameter name |
| if 'string' == type (params) then | | if 'string' == type (params) then |
− | punct_skip[params] = 1; -- just a single parameter | + | skip_t[params] = 1; -- just a single parameter |
| else | | else |
| for _, param in ipairs (params) do -- get the parameter name | | for _, param in ipairs (params) do -- get the parameter name |
− | punct_skip[param] = 1; -- add the parameter name to the skip table | + | skip_t[param] = 1; -- add the parameter name to the skip table |
| local count; | | local count; |
| param, count = param:gsub ('#', ''); -- remove enumerator marker from enumerated parameters | | param, count = param:gsub ('#', ''); -- remove enumerator marker from enumerated parameters |
| if 0 ~= count then -- if removed | | if 0 ~= count then -- if removed |
− | punct_skip[param] = 1; -- add param name without enumerator marker | + | skip_t[param] = 1; -- add param name without enumerator marker |
| end | | end |
| end | | end |
| end | | end |
| end | | end |
| + | return skip_t; |
| + | end |
| + | |
| + | local punct_skip = {}; |
| + | local url_skip = {}; |
| | | |
| | | |
Line 420: |
Line 420: |
| | | |
| ]] | | ]] |
− | | + | 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 |
Line 437: |
Line 437: |
| -- 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'] = { | | ['generic_titles'] = { |
− | -- 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 |
− | -- generic titles must be lowercase
| |
| -- 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}, | | {['en'] = {'^wayback%s+machine$', false}, ['local'] = nil}, |
Line 449: |
Line 448: |
| {['en'] = {'^[%(%[{<]?unknown[>}%]%)]?$', false}, ['local'] = nil}, | | {['en'] = {'^[%(%[{<]?unknown[>}%]%)]?$', false}, ['local'] = nil}, |
| {['en'] = {'website is for sale', true}, ['local'] = nil}, | | {['en'] = {'website is for sale', true}, ['local'] = nil}, |
− | {['en'] = {'^404', true}, ['local'] = nil}, | + | {['en'] = {'^404', false}, ['local'] = nil}, |
| {['en'] = {'internet archive wayback machine', true}, ['local'] = nil}, | | {['en'] = {'internet archive wayback machine', true}, ['local'] = nil}, |
| {['en'] = {'log into facebook', true}, ['local'] = nil}, | | {['en'] = {'log into facebook', true}, ['local'] = nil}, |
| + | {['en'] = {'login • instagram', true}, ['local'] = nil}, |
| {['en'] = {'redirecting...', 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'] = {'webcite query result', true}, ['local'] = nil}, |
| {['en'] = {'wikiwix\'s cache', true}, ['local'] = nil}, | | {['en'] = {'wikiwix\'s cache', true}, ['local'] = nil}, |
| + | }, |
| + | |
| + | ['generic_names'] = { |
| + | -- generic names and patterns in this table should be lowercase only |
| + | -- leave ['local'] nil except when there is a matching generic name in your language |
| + | -- boolean 'true' for plain-text searches; 'false' for pattern searches |
| + | {['en'] = {'about us', true}, ['local'] = nil}, |
| + | {['en'] = {'%f[%a]advisor%f[%A]', false}, ['local'] = nil}, |
| + | {['en'] = {'%f[%a]author%f[%A]', false}, ['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]edited%f[%A]', false}, ['local'] = nil}, |
| + | {['en'] = {'%f[%a]editors?%f[%A]', false}, ['local'] = nil}, |
| + | {['en'] = {'%f[%a]email%f[%A]', false}, ['local'] = nil}, |
| + | {['en'] = {'facebook', true}, ['local'] = nil}, |
| + | {['en'] = {'google', true}, ['local'] = nil}, |
| + | {['en'] = {'home page', true}, ['local'] = nil}, |
| + | {['en'] = {'instagram', true}, ['local'] = nil}, |
| + | {['en'] = {'interviewer', true}, ['local'] = nil}, |
| + | {['en'] = {'linkedIn', true}, ['local'] = nil}, |
| + | {['en'] = {'pinterest', true}, ['local'] = nil}, |
| + | {['en'] = {'policy', true}, ['local'] = nil}, |
| + | {['en'] = {'privacy', 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..']user%f[^'..is_Latn..']', false}, ['local'] = nil}, |
| + | {['en'] = {'verfasser', true}, ['local'] = nil}, |
| } | | } |
| } | | } |
Line 547: |
Line 586: |
| end | | end |
| | | |
− | local global_df = get_date_format (); | + | local global_df; |
| | | |
| | | |
Line 573: |
Line 612: |
| bad_ppatterns = { -- patterns for |page= and |pages= | | bad_ppatterns = { -- patterns for |page= and |pages= |
| '^[Pp][PpGg]?%.?[ %d]', | | '^[Pp][PpGg]?%.?[ %d]', |
| + | '^[Pp][Pp]?%. ', -- from {{p.}} and {{pp.}} templates |
| '^[Pp]ages?', | | '^[Pp]ages?', |
| '^[Pp]gs.?', | | '^[Pp]gs.?', |
Line 618: |
Line 658: |
| ['cs1'] = {'cs1'}, -- |mode= | | ['cs1'] = {'cs1'}, -- |mode= |
| ['cs2'] = {'cs2'}, -- |mode= | | ['cs2'] = {'cs2'}, -- |mode= |
− | ['dead'] = {'dead'}, -- |url-status= -- Used by InternetArchiveBot | + | ['dead'] = {'dead', 'deviated'}, -- |url-status= -- Used by InternetArchiveBot |
| ['dmy'] = {'dmy'}, -- |df= | | ['dmy'] = {'dmy'}, -- |df= |
| ['dmy-all'] = {'dmy-all'}, -- |df= | | ['dmy-all'] = {'dmy-all'}, -- |df= |
| ['foreword'] = {'foreword'}, -- |contribution= | | ['foreword'] = {'foreword'}, -- |contribution= |
− | ['free'] = {'free'}, -- |url-access= -- Used by InternetArchiveBot | + | ['free'] = {'free'}, -- |<id>-access= -- Used by InternetArchiveBot |
| + | ['harv'] = {'harv'}, -- |ref=; this no longer supported; is_valid_parameter_value() called with <invert> = true |
| ['introduction'] = {'introduction'}, -- |contribution= | | ['introduction'] = {'introduction'}, -- |contribution= |
| ['limited'] = {'limited'}, -- |url-access= -- Used by InternetArchiveBot | | ['limited'] = {'limited'}, -- |url-access= -- Used by InternetArchiveBot |
Line 714: |
Line 755: |
| ['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), | | ['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), |
| ['name-list-style'] = make_keywords_list ({keywords.amp, keywords['and'], keywords.vanc}), | | ['name-list-style'] = make_keywords_list ({keywords.amp, keywords['and'], keywords.vanc}), |
| + | ['ref'] = make_keywords_list ({keywords.harv}), -- inverted check; |ref=harv no longer supported |
| ['url-access'] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}), | | ['url-access'] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}), |
| ['url-status'] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords['bot: unknown']}), | | ['url-status'] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords['bot: unknown']}), |
Line 775: |
Line 817: |
| | | |
| --[[ | | --[[ |
| + | |
| 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 860: |
Line 903: |
| end | | end |
| end | | end |
− |
| |
− | local local_lang_cat_enable = false; -- set to true to categorize pages where |language=<local wiki's language>
| |
| | | |
| | | |
Line 872: |
Line 913: |
| | | |
| local script_lang_codes = { | | local script_lang_codes = { |
− | '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', | + | 'he', 'hi', 'hy', 'ja', 'ka', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'lo', 'mk', |
− | 'mk', 'ml', 'mn', 'mr', 'my', 'ne', 'or', 'ota', 'ps', 'ru', 'sd', 'si',
| + | 'ml', 'mn', 'mr', 'my', 'ne', 'or', 'ota', 'ps', 'ru', 'sd', 'si', 'sr', 'syc', |
− | 'sr', 'ta', 'te', 'tg', 'th', 'ti', 'ug', 'uk', 'ur', 'uz', 'yi', 'zh'
| + | 'ta', 'te', 'tg', 'th', 'ti', 'ug', 'uk', 'ur', 'uz', 'yi', 'yue', 'zh' |
| }; | | }; |
| | | |
Line 905: |
Line 946: |
| ['bn'] = 'Bengali', -- MediaWiki returns Bangla | | ['bn'] = 'Bengali', -- MediaWiki returns Bangla |
| ['ca-valencia'] = 'Valencian', -- IETF variant of Catalan | | ['ca-valencia'] = 'Valencian', -- IETF variant of Catalan |
− | ['crh'] = 'Crimean Tatar', -- synonymous with Crimean Turkish (return value from {{#language:crh|en}})
| |
| ['ilo'] = 'Ilocano', -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | | ['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 921: |
Line 961: |
| ['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 |
− | ['crimean tatar'] = {'Crimean Tatar', 'crh'}, -- MediaWiki uses 'crh' as a subdomain name for Crimean Tatar Wikipedia: crh.wikipedia.org
| |
| ['ilocano'] = {'Ilocano', 'ilo'}, -- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name | | ['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 ö) |
Line 939: |
Line 978: |
| | | |
| local prop_cats = { | | local prop_cats = { |
− | ['foreign_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code | + | ['foreign-lang-source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code |
− | ['foreign_lang_source_2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key | + | ['foreign-lang-source-2'] = 'CS1 foreign language sources (ISO 639-2)|$1', -- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key |
− | ['local_lang_source'] = 'CS1 $1-language sources ($2)', -- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false | + | ['jul-greg-uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 |
− | ['location test'] = 'CS1 location test', | + | ['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 |
− | ['script'] = 'CS1 uses foreign language script', -- when language specified by |script-title=xx: doesn't have its own category | + | ['location-test'] = 'CS1 location test', |
− | ['script_with_name'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code | + | ['long-vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 charachters |
− | ['jul_greg_uncertainty'] = 'CS1: Julian–Gregorian uncertainty', -- probably temporary cat to identify scope of template with dates 1 October 1582 – 1 January 1926 | + | ['script'] = 'CS1 uses $1-language script ($2)', -- |script-title=xx: has matching category; $1 is language name, $2 is ISO639-1 code |
− | ['long_vol'] = 'CS1: long volume value', -- probably temporary cat to identify scope of |volume= values longer than 4 charachters | + | ['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 965: |
Line 1,004: |
| ['pressrelease'] = 'Press release', | | ['pressrelease'] = 'Press release', |
| ['report'] = 'Report', | | ['report'] = 'Report', |
| + | ['speech'] = 'Speech', |
| ['techreport'] = 'Technical report', | | ['techreport'] = 'Technical report', |
| ['thesis'] = 'Thesis', | | ['thesis'] = 'Thesis', |
Line 988: |
Line 1,028: |
| ['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,000: |
Line 1,043: |
| ['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,363: |
Line 1,407: |
| category = 'CS1 errors: format without URL', | | category = 'CS1 errors: format without URL', |
| hidden = false | | hidden = false |
| + | }, |
| + | err_generic_name = { |
| + | message = '<code class="cs1-code">|$1=</code> has generic name', -- $1 is parameter name |
| + | anchor = 'generic_name', |
| + | category = 'CS1 errors: generic name', |
| + | hidden = false, |
| }, | | }, |
| err_generic_title = { | | err_generic_title = { |
Line 1,480: |
Line 1,530: |
| | | |
| ]] | | ]] |
| + | |
| maint_archived_copy = { | | maint_archived_copy = { |
| message = nil, | | message = nil, |
Line 1,496: |
Line 1,547: |
| anchor = 'bot:_unknown', | | anchor = 'bot:_unknown', |
| category = 'CS1 maint: bot: original URL status unknown', | | category = 'CS1 maint: bot: original URL status unknown', |
| + | hidden = true, |
| + | }, |
| + | maint_date_auto_xlated = { -- date auto-translation not supported by en.wiki |
| + | message = nil, |
| + | anchor = 'date_auto_xlated', |
| + | category = 'CS1 maint: date auto-translated', |
| hidden = true, | | hidden = true, |
| }, | | }, |
Line 1,508: |
Line 1,565: |
| anchor = 'date_year', | | anchor = 'date_year', |
| category = 'CS1 maint: date and year', | | category = 'CS1 maint: date and year', |
− | hidden = true,
| |
− | },
| |
− | maint_discouraged = {
| |
− | message = nil,
| |
− | anchor = 'discouraged',
| |
− | category = 'CS1 maint: discouraged parameter',
| |
| hidden = true, | | hidden = true, |
| }, | | }, |
Line 1,538: |
Line 1,589: |
| anchor = 'extra_punct', | | anchor = 'extra_punct', |
| category = 'CS1 maint: extra punctuation', | | category = 'CS1 maint: extra punctuation', |
− | hidden = true,
| |
− | },
| |
− | maint_extra_text_names = {
| |
− | message = nil,
| |
− | anchor = 'extra_text_names',
| |
− | category = 'CS1 maint: extra text: $1', -- $1 is '<name>s list'; gets value from special_case_translation table
| |
| hidden = true, | | hidden = true, |
| }, | | }, |
Line 1,624: |
Line 1,669: |
| hidden = true, | | hidden = true, |
| }, | | }, |
− | maint_ref_harv = {
| |
− | message = nil,
| |
− | anchor = 'ref_harv',
| |
− | category = 'CS1 maint: ref=harv',
| |
− | hidden = true,
| |
− | },
| |
| maint_unfit = { | | maint_unfit = { |
| message = nil, | | message = nil, |
Line 1,646: |
Line 1,685: |
| anchor = 'untitled', | | anchor = 'untitled', |
| category = 'CS1 maint: untitled periodical', | | category = 'CS1 maint: untitled periodical', |
| + | hidden = true, |
| + | }, |
| + | maint_url_status = { |
| + | message = nil, |
| + | anchor = 'url_status', |
| + | category = 'CS1 maint: url-status', |
| hidden = true, | | hidden = true, |
| }, | | }, |
Line 1,686: |
Line 1,731: |
| 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 1,784: |
Line 1,830: |
| }, | | }, |
| ['ISBN'] = { -- Used by InternetArchiveBot | | ['ISBN'] = { -- Used by InternetArchiveBot |
− | parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'}, | + | parameters = {'isbn', 'ISBN'}, |
| link = 'International Standard Book Number', | | link = 'International Standard Book Number', |
| redirect = 'ISBN (identifier)', | | redirect = 'ISBN (identifier)', |
Line 1,955: |
Line 2,001: |
| separator = ' ', | | separator = ' ', |
| id_limit = 4000000, | | id_limit = 4000000, |
− | access = 'free', -- always free to read | + | custom_access = 'ssrn-access', |
| }, | | }, |
| ['S2CID'] = { | | ['S2CID'] = { |
Line 1,967: |
Line 2,013: |
| encode = false, | | encode = false, |
| separator = ' ', | | separator = ' ', |
− | id_limit = 246000000, | + | id_limit = 250000000, |
| custom_access = 's2cid-access', | | custom_access = 's2cid-access', |
| }, | | }, |
Line 1,999: |
Line 2,045: |
| | | |
| return { | | return { |
− | use_identifier_redirects = true, -- when true use redirect name for identifier label links | + | use_identifier_redirects = true, -- when true use redirect name for identifier label links; always true at en.wiki |
| + | local_lang_cat_enable = false; -- when true categorizes pages where |language=<local wiki's language>; always false at en.wiki |
| + | date_name_auto_xlate_enable = false; -- when true translates English month-names to the local-wiki's language month names; 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 |
| + | |
| + | global_df = get_date_format (), -- tables and variables created when this module is loaded |
| + | punct_skip = build_skip_table (punct_skip, punct_meta_params), |
| + | url_skip = build_skip_table (url_skip, url_meta_params), |
| | | |
| aliases = aliases, | | aliases = aliases, |
Line 2,008: |
Line 2,061: |
| editor_markup_patterns = editor_markup_patterns, | | editor_markup_patterns = editor_markup_patterns, |
| et_al_patterns = et_al_patterns, | | et_al_patterns = et_al_patterns, |
− | global_df = global_df,
| |
| id_handlers = id_handlers, | | id_handlers = id_handlers, |
| keywords_lists = keywords_lists, | | keywords_lists = keywords_lists, |
Line 2,022: |
Line 2,074: |
| presentation = presentation, | | presentation = presentation, |
| prop_cats = prop_cats, | | prop_cats = prop_cats, |
− | punct_skip = punct_skip,
| |
| script_lang_codes = script_lang_codes, | | script_lang_codes = script_lang_codes, |
| lang_code_remap = lang_code_remap, | | lang_code_remap = lang_code_remap, |
Line 2,037: |
Line 2,088: |
| inter_wiki_map = inter_wiki_map, | | inter_wiki_map = inter_wiki_map, |
| languages = languages, | | languages = languages, |
| + | citation_class_map_t = citation_class_map_t, |
| } | | } |