Module:Citation/CS1/Configuration: Difference between revisions
From Vigyanwiki
m (1 revision imported) |
m (1 revision imported) |
||
| (30 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
local lang_obj = mw.language.getContentLanguage(); -- make a language object for the local language; used here for languages and dates | |||
--[[--------------------------< S E T T I N G S >-------------------------------------------------------------- | |||
boolean settings used to control various things. these setting located here to make them easy to find | |||
]] | |||
-- these settings local to this module only | |||
local local_digits_from_mediawiki = false; -- for i18n; when true, module fills date_names['local_digits'] from MediaWiki; manual fill required else; always false at en.wiki | |||
local local_date_names_from_mediawiki = false; -- for i18n; when true, module fills date_names['local']['long'] and date_names['local']['short'] from MediaWiki; | |||
-- manual translation required else; ; always false at en.wiki | |||
-- these settings exported to other modules | |||
local use_identifier_redirects = true; -- when true use redirect name for identifier label links; always true at en.wiki | |||
local local_lang_cat_enable = false; -- when true categorizes pages where |language=<local wiki's language>; always false at en.wiki | |||
local 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 | |||
local 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 | |||
--[[--------------------------< 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 28: | Line 52: | ||
['archived-dead'] = 'Archived from $1 on $2', | ['archived-dead'] = 'Archived from $1 on $2', | ||
['archived-live'] = '$1 from the original on $2', | ['archived-live'] = '$1 from the original on $2', | ||
['archived-unfit'] = 'Archived from the original on ', | ['archived-unfit'] = 'Archived from the original on ', | ||
['archived'] = 'Archived', | ['archived'] = 'Archived', | ||
| Line 42: | Line 65: | ||
['inset'] = '$1 inset', | ['inset'] = '$1 inset', | ||
['interview'] = 'Interviewed by $1', | ['interview'] = 'Interviewed by $1', | ||
['mismatch'] = '<code class="cs1-code">|$1=</code> / <code class="cs1-code">|$2=</code> mismatch', -- $1 is year param name; $2 is date param name | ['mismatch'] = '<code class="cs1-code">|$1=</code> / <code class="cs1-code">|$2=</code> mismatch', -- $1 is year param name; $2 is date param name | ||
['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ['newsgroup'] = '[[Usenet newsgroup|Newsgroup]]: $1', | ||
| Line 60: | Line 82: | ||
['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 108: | Line 134: | ||
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 115: | Line 141: | ||
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', | ['arxiv'] = 'arXiv', | ||
['audio-visual'] = 'AV media', | |||
['AV-media-notes'] = 'AV media notes', | ['AV-media-notes'] = 'AV media notes', | ||
['biorxiv'] = 'bioRxiv', | |||
['citeseerx'] = 'CiteSeerX', | |||
['encyclopaedia'] = 'encyclopedia', | ['encyclopaedia'] = 'encyclopedia', | ||
['mailinglist'] = 'mailing list', | ['mailinglist'] = 'mailing list', | ||
['pressrelease'] = 'press release' | ['medrxiv'] = 'medRxiv', | ||
['pressrelease'] = 'press release', | |||
['ssrn'] = 'SSRN', | |||
['techreport'] = 'tech report', | |||
} | } | ||
| Line 131: | Line 163: | ||
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 162: | Line 194: | ||
['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 227: | Line 261: | ||
['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 | ||
| Line 262: | Line 297: | ||
['Issue'] = {'issue', 'number'}, | ['Issue'] = {'issue', 'number'}, | ||
['Language'] = {'language', 'lang'}, | ['Language'] = {'language', 'lang'}, | ||
['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only | ['MailingList'] = {'mailing-list', 'mailinglist'}, -- cite mailing list only | ||
['Map'] = 'map', -- cite map only | ['Map'] = 'map', -- cite map only | ||
| Line 313: | Line 344: | ||
['Title'] = 'title', -- Used by InternetArchiveBot | ['Title'] = 'title', -- Used by InternetArchiveBot | ||
['TitleLink'] = {'title-link', 'episode-link', 'episodelink'}, -- Used by InternetArchiveBot | ['TitleLink'] = {'title-link', 'episode-link', 'episodelink'}, -- Used by InternetArchiveBot | ||
['TitleNote'] = 'department', | ['TitleNote'] = {'title-note', 'department'}, | ||
['TitleType'] = {'type', 'medium'}, | ['TitleType'] = {'type', 'medium'}, | ||
['TransChapter'] = {'trans-article', 'trans-chapter', 'trans-contribution', | ['TransChapter'] = {'trans-article', 'trans-chapter', 'trans-contribution', | ||
| Line 319: | Line 350: | ||
['Transcript'] = 'transcript', | ['Transcript'] = 'transcript', | ||
['TranscriptFormat'] = 'transcript-format', | ['TranscriptFormat'] = 'transcript-format', | ||
['TranscriptURL'] = | ['TranscriptURL'] = 'transcript-url', -- 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 334: | Line 365: | ||
['Year'] = 'year', | ['Year'] = 'year', | ||
['AuthorList-First'] = {"first#", "author-first#", "author#-first", "given#", | ['AuthorList-First'] = {"first#", "author-first#", "author#-first", "author-given#", "author#-given", | ||
" | "subject-first#", "subject#-first", "subject-given#", "subject#-given", | ||
['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "surname#", | "given#"}, | ||
" | ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author-surname#", "author#-surname", | ||
"subject-last#", "subject#-last", "subject-surname#", "subject#-surname", | |||
"author#", 'host#', "subject#", "surname#"}, | |||
['AuthorList-Link'] = {"author-link#", "author#-link", "subject-link#", | ['AuthorList-Link'] = {"author-link#", "author#-link", "subject-link#", | ||
"subject#-link", "authorlink#", "author#link"}, | "subject#-link", "authorlink#", "author#link"}, | ||
| Line 381: | Line 414: | ||
'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 | 'ArchiveURL', 'ChapterURL', 'ConferenceURL', '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 | 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 | 'ArchiveURL', 'ChapterURL', 'ConferenceURL', 'ID', 'MapURL', 'TranscriptURL', 'URL', -- parameters allowed to hold urls | ||
'Page', 'Pages', 'At', 'QuotePage', 'QuotePages', -- insource locators allowed to hold urls | 'Page', 'Pages', 'At', 'QuotePage', 'QuotePages', -- insource locators allowed to hold urls | ||
} | } | ||
| Line 410: | Line 443: | ||
local punct_skip = {}; | local punct_skip = {}; | ||
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 423: | Line 466: | ||
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 436: | Line 479: | ||
-- 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}, | |||
}, | |||
['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 519: | Line 579: | ||
Easter and Christmas are defined here as 98 and 99, which should be out of the | Easter and Christmas are defined here as 98 and 99, which should be out of the | ||
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 530: | Line 603: | ||
['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 537: | Line 611: | ||
['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 in pairs (date_names['local'] | if local_date_names_from_mediawiki then -- if fetching local month names from MediaWiki is enabled | ||
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 | |||
-- create inverted date-name tables for reformatting and/or translation | |||
for _, invert_t in pairs {{'long', 'inv_local_long'}, {'short', 'inv_local_short'}, {'quarter', 'inv_loca | |||