Mô đun:Webarchive/data/sandbox

--------------------------------------------------------------------------------

global configuration settings

local config = {
maxurls = 10, -- Max number of URLs allowed.
tname = 'Webarchive', -- name of calling template. Change if template rename.
verifydates = true, -- See documentation. Set false to disable.
}

----------------------------------------------------------

List of namespaces that should not be included in citation error categories.

Note: Namespace names should use underscores instead of spaces.

local uncategorized_namespaces = { -- same list as specified at Module:Citation/CS1/Configuration
['Thành_viên']=true, ['Thảo_luận']=true, ['Thảo_luận_Thành_viên']=true, ['Thảo_luận_Wikipedia']=true, ['Thảo_luận_Tập_tin']=true,
['Thảo_luận_Bản_mẫu']=true, ['Thảo_luận_Trợ_giúp']=true, ['Thảo_luận_Thể_loại']=true, ['Thảo_luận_Cổng_thông_tin']=true,
['Thảo_luận_Mô_đun']=true, ['Thảo_luận_MediaWiki']=true,
}

local uncategorized_subpages = {'/[Ss]andbox', '/[Tt]estcases'}; -- list of Lua patterns found in page names of pages we should not categorize

local excepted_pages = { -- these pages will be categorized if set true; set to nil to disable
['Thảo luận Mô đun:Webarchive/testcases'] = true, -- test cases pages used during development
['Bản mẫu:Webarchive/testcases/Production'] = true,
}

--------------------------------------------------------------------------------------

this is a table of all categories supported by Module:Webarchive

local categories = {
archiveis = 'Thể loại:Bản mẫu webarchive dùng liên kết archiveis',
error = 'Thể loại:Lỗi bản mẫu Webarchive',
other = 'Thể loại:Bản mẫu webarchive dùng lưu trữ khác',
unknown = 'Thể loại:Bản mẫu webarchive dùng liên kết không rõ',
warning = 'Thể loại:Cảnh báo bản mẫu webarchive',
wayback = 'Thể loại:Bản mẫu webarchive dùng liên kết wayback',
webcite = 'Thể loại:Bản mẫu webarchive dùng liên kết webcite',
}

--[[----------------------------------------------------------------------------------------

used only with serviceName(), this table holds the two generic tail-text prefixes specified by services[][1]

]]

local prefixes = {
at = 'tại',
atthe = 'tại',
}

--[=[---------------------------------------------------------------------------------------

this is a table of tables for archive services. Each service table has:
[1]=prefix; may be boolean true or false, or text string where:
true indicates that the prefix is taken from prefixes.atthe
false indicates that the prefix is taken from prefixes.at
'text string' is used in lieu of the typical 'at' or 'at the' prefix
[2]=wikilink target article that describes the service; set to nil if not used
[3]=wikilink label; the label in label; set to nil if not used; when there is not article ([2] is nil) use this to name the service; see wikiwix in the table
[4]=service ID; set to nil if not used
[5]=tracking category key from the categories table; set to nil if not used
[6]=postfix; text string to be appended at the end of the tail string - see webarchive.loc.gov in the table

]=]

local services = {
['archive.ec'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.fo'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.is'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.li'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.md'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.org'] = {true, 'Wayback Machine', nil, 'wayback', categories.wayback},
['archive.ph'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.today'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive.vn'] = {false, 'archive.today', nil, 'archiveis', categories.archiveis},
['archive-it.org'] = {false, 'Archive-It', nil, 'archiveit'},
['arquivo.pt'] = {true, nil, 'Portuguese Web Archive'},
['bibalex.org'] = {false, 'Bibliotheca AlexandrinaInternet Archive partnership', 'Bibliotheca Alexandrina'},
['collectionscanada'] = {true, 'Canadian Government Web Archive'},
['europarchive.org'] = {true, 'National Library of Ireland'},
['freezepage.com'] = {false, nil, 'Freezepage'},
['haw.nsk'] = {true, 'Croatian Web Archive (HAW)'},
['langzeitarchivierung.bib-bvb.de'] = {false, 'Bavarian State Library'},
['loc.gov'] = {true, 'Library of Congress'},
['nationalarchives.gov.uk'] = {true, 'UK Government Web Archive', nil, 'ukgwa'},
['nlb.gov.sg'] = {false, 'Web Archive Singapore'},
['parliament.uk'] = {true, 'UK Parliament\'s Web Archive'},
['perma.cc'] = {false, 'Perma.cc'},
['perma-archives.cc'] = {false, 'Perma.cc'},
['proni.gov'] = {true, 'Public Record Office of Northern Ireland'},
['screenshots.com'] = {false, nil, 'Screenshots'},
['stanford.edu'] = {true, 'Stanford University Libraries', 'Stanford Web Archive'},
['timetravel.mementoweb.org'] = {false, 'Memento Project'},
['uni-lj.si'] = {true, nil, 'Slovenian Web Archive'},
['veebiarhiiv.digar.ee'] = {true, nil, 'Estonian Web Archive'},
['vefsafn.is'] = {true, 'National and University Library of Iceland'},
['webarchive.bac-lac.gc.ca'] = {false, 'Library and Archives Canada'},
['webarchive.loc.gov'] = {true, 'Library of Congress', nil, 'locwebarchives', nil, 'Web Archives'},
['webarchive.nla.gov.au'] = {true, 'Australian Web Archive'},
['webarchive.org.uk'] = {true, 'UK Web Archive'},
['webcache.googleusercontent.com'] = {false, nil, 'Google Cache'},
['webcitation.org'] = {false, 'WebCite', nil, 'webcite', categories.webcite},
['webharvest.gov'] = {true, 'National Archives and Records Administration'},
['webrecorder.io'] = {false, 'webrecorder.io'},
['wikiwix.com'] = {false, nil, 'Wikiwix'},
['yorku.ca'] = {false, 'York University Libraries', 'York University Digital Library'},
}

------------------------------------------------------------------------------------

for internationalzation

local s_text = {
addlarchives = 'Lưu trữ khác',
addlpages = 'Các trang khác lưu trữ ngày', -- TODO why the &nbsp; there? replace with regular space?
Archive_index = 'Xem toàn bộ lưu trữ',
Archived = 'Lưu trữ',
archived = 'lưu trữ ngày',
archive = 'toàn bộ',
Page = 'Trang',
}

--------------------------------------------------------------------------------

these tables hold error and warning message text

local err_warn_msgs = {
date_err = '(Lỗi ngày)', -- decodeWebciteDate, decodeWaybackDate, decodeArchiveisDate
date_miss = '(Thiếu ngày)', -- parseExtraArgs
ts_short = '(Độ dài dấu thời gian)', -- decodeWaybackDate timestamp less than 8 digits
ts_date = '(Dấu thời gian không hợp lệ)', -- decodeWaybackDate timestamp not a valid date
unknown_url = '(Lỗi: URL lưu trữ không rõ)', -- serviceName
unnamed_params = '(Tham số vị trí đã bị bỏ qua)',

--warnings
mismatch = '(Ngày không khớp)', -- webarchive
ts_len = '(Độ dài dấu thời gian)', -- decodeWaybackDate, decodeArchiveisDate timestamp not 14 digits
ts_cal = '(Lịch)', -- decodeWaybackDate timestamp has trailing splat
}

local crit_err_msgs = { -- critical error messages
conflicting = 'Mâu thuẫn giữa |$1= và |$2=',
empty = 'URL trống',
-- iabot1 = 'https://web.http', -- TODO: these iabot bugs perportedly fixed; removing these causes lua script error
-- iabot2 = 'URL không hợp lệ', -- at Template:Webarchive/testcases/Production; resolve that before deleting these messages
invalid_url = 'URL không hợp lệ',
ts_nan = 'Dấu thời gian không phải là số',
unknown = 'Lỗi không xác định. Xin hãy báo cáo tại trang thảo luận của bản mẫu',
}

--------------------------------------------------------

these tables hold data that is used when converting date formats from non-English languages (because mw.language.getContentLanguage:formatDate()
doesn't understand non-English month names)

local month_num = { -- retain English language names even though they may not be strictly required on the local wiki
['January'] = 1, ['February'] = 2, ['March'] = 3, ['April'] = 4, ['May'] = 5, ['June'] = 6, ['July'] = 7, ['August'] = 8, ['September'] = 9, ['October'] = 10, ['November'] = 11, ['December'] = 12,
['Jan'] = 1, ['Feb'] = 2, ['Mar'] = 3, ['Apr'] = 4, ['May'] = 5, ['Jun'] = 6, ['Jul'] = 7, ['Aug'] = 8, ['Sep'] = 9, ['Oct'] = 10, ['Nov'] = 11, ['Dec'] = 12,
-- add local wiki month-names to number translation here
['tháng 1 năm'] = 1, ['tháng 2 năm'] = 2, ['tháng 3 năm'] = 3, ['tháng 4 năm'] = 4, ['tháng 5 năm'] = 5, ['tháng 6 năm'] = 6, ['tháng 7 năm'] = 7, ['tháng 8 năm'] = 8, ['tháng 9 năm'] = 9, ['tháng 10 năm'] = 10, ['tháng 11 năm'] = 11, ['tháng 12 năm'] = 12,
};

-- when the local wiki uses non-western digits in dates, local wiki digits must be
-- translated to western digits; lua only understands western digits
local digits = { -- use this table to aid translation
-- [] = 0, [] = 1, [] = 2, [] = 3, [] = 4, [] = 5, [] = 6, [] = 7, [] = 8, [] = 9, -- fill these table indexes with local digits
enable = false -- set to true to enable local-digit to western-digit translation
};

----------------------------------------------

this table holds tables of parameter names and their non-English aliases. In the enum_params table '' is a single
character placeholder for 1 or more digit characters

parameter names in this table shall be lowercase

local params = {
['url'] = {'url'},
['date'] = {'date', 'datum'},
['title'] = {'title', 'titel'},
['nolink'] = {'nolink'},
['format'] = {'format'}
}

local enum_params = {
['url'] = {'url'},
['date'] = {'date', 'datum'},
['title'] = {'title', 'titel'},
}

local format_vals = { -- |format= accepts two values; add local language variants here
['addlpages'] = {'addlpages'},
['addlarchives'] = {'addlarchives'},
}

----------------------------------------------------------------------------

return {
categories = categories,
config = config,
crit_err_msgs = crit_err_msgs,
digits = digits,
enum_params = enum_params,
err_warn_msgs = err_warn_msgs,
excepted_pages = excepted_pages,
format_vals = format_vals,
month_num = month_num,
params = params,
prefixes = prefixes,
services = services,
s_text = s_text,
uncategorized_namespaces = uncategorized_namespaces,
uncategorized_subpages = uncategorized_subpages,
}