Sửa đổi Mô đun:Citation/Configuration
Chú ý: Bạn chưa đăng nhập và địa chỉ IP của bạn sẽ hiển thị công khai khi lưu các sửa đổi.
Bạn có thể tham gia như người biên soạn chuyên nghiệp và lâu dài ở Bách khoa Toàn thư Việt Nam, bằng cách đăng ký và đăng nhập - IP của bạn sẽ không bị công khai và có thêm nhiều lợi ích khác.
Các sửa đổi có thể được lùi lại. Xin hãy kiểm tra phần so sánh bên dưới để xác nhận lại những gì bạn muốn làm, sau đó lưu thay đổi ở dưới để hoàn tất việc lùi lại sửa đổi.
Bản hiện tại | Nội dung bạn nhập | ||
Dòng 24: | Dòng 24: | ||
local messages = { | local messages = { | ||
['agency'] = '$1 $2', -- $1 is sepc, $2 is agency | ['agency'] = '$1 $2', -- $1 is sepc, $2 is agency | ||
− | ['archived-dead'] = 'Lưu trữ từ $1 $2', | + | ['archived-dead'] = 'Lưu trữ từ $1 tại $2', |
− | ['archived-live'] = '$1 từ tài liệu gốc $2', | + | ['archived-live'] = '$1 từ tài liệu gốc tại $2', |
− | ['archived-missing'] = 'Lưu trữ từ tài liệu gốc $1 $2', | + | ['archived-missing'] = 'Lưu trữ từ tài liệu gốc$1 tại $2', |
− | ['archived-unfit'] = 'Lưu trữ từ tài liệu gốc ', | + | ['archived-unfit'] = 'Lưu trữ từ tài liệu gốc tại ', |
['archived'] = 'Lưu trữ', | ['archived'] = 'Lưu trữ', | ||
['by'] = 'Bởi', -- contributions to authored works: introduction, foreword, afterword | ['by'] = 'Bởi', -- contributions to authored works: introduction, foreword, afterword | ||
Dòng 33: | Dòng 33: | ||
['editor'] = 'bt.', | ['editor'] = 'bt.', | ||
['editors'] = 'bt.', | ['editors'] = 'bt.', | ||
− | ['edition'] = '(lxb. | + | ['edition'] = '($1 lxb.)', |
['episode'] = 'Tập $1', | ['episode'] = 'Tập $1', | ||
['et al'] = 'et al.', | ['et al'] = 'et al.', | ||
Dòng 164: | Dòng 164: | ||
['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon | ['ext-link-access-signal'] = '<span class="$1" title="$2">$3</span>', -- external link with appropriate lock icon | ||
− | ['free'] = {class='cs1-lock-free', title=' | + | ['free'] = {class='cs1-lock-free', title='Freely accessible'}, -- classes defined in Module:Citation/CS1/styles.css |
− | ['registration'] = {class='cs1-lock-registration', title=' | + | ['registration'] = {class='cs1-lock-registration', title='Free registration required'}, |
− | ['limited'] = {class='cs1-lock-limited', title=' | + | ['limited'] = {class='cs1-lock-limited', title='Free access subject to limited trial, subscription normally required'}, |
− | ['subscription'] = {class='cs1-lock-subscription', title=' | + | ['subscription'] = {class='cs1-lock-subscription', title='Paid subscription required'}, |
['interwiki-icon'] = '<span class="$1" title="$2">$3</span>', | ['interwiki-icon'] = '<span class="$1" title="$2">$3</span>', | ||
Dòng 229: | Dòng 229: | ||
['BookTitle'] = {'book-title', 'booktitle'}, | ['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', 'article-format', 'section-format'}; | ['ChapterFormat'] = {'chapter-format', 'contribution-format', 'entry-format', 'article-format', 'section-format'}; | ||
− | ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl | + | ['ChapterURL'] = {'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'entry-url', 'article-url', 'section-url', 'sectionurl'}, -- Used by InternetArchiveBot |
['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', 'entry-url-access', 'article-url-access', 'section-url-access'}, -- Used by InternetArchiveBot | ['ChapterUrlAccess'] = {'chapter-url-access', 'contribution-url-access', '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 identifiers | ||
Dòng 241: | Dòng 241: | ||
['Degree'] = 'degree', | ['Degree'] = 'degree', | ||
['DF'] = 'df', | ['DF'] = 'df', | ||
− | ['DisplayAuthors'] = {'display-authors', 'displayauthors | + | ['DisplayAuthors'] = {'display-authors', 'displayauthors'}, |
['DisplayContributors'] = 'display-contributors', | ['DisplayContributors'] = 'display-contributors', | ||
− | ['DisplayEditors'] = {'display-editors', 'displayeditors | + | ['DisplayEditors'] = {'display-editors', 'displayeditors'}, |
['DisplayInterviewers'] = 'display-interviewers', | ['DisplayInterviewers'] = 'display-interviewers', | ||
['DisplayTranslators'] = 'display-translators', | ['DisplayTranslators'] = 'display-translators', | ||
['Docket'] = 'docket', | ['Docket'] = 'docket', | ||
['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, | ['DoiBroken'] = {'doi-broken', 'doi-broken-date', 'doi-inactive-date'}, | ||
− | ['Edition'] = | + | ['Edition'] = 'edition', |
['Editors'] = 'editors', | ['Editors'] = 'editors', | ||
['Embargo'] = 'embargo', | ['Embargo'] = 'embargo', | ||
['Encyclopedia'] = {'encyclopedia', 'encyclopaedia', 'dictionary'}, -- cite encyclopedia only | ['Encyclopedia'] = {'encyclopedia', 'encyclopaedia', 'dictionary'}, -- cite encyclopedia only | ||
['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? | ['Episode'] = 'episode', -- cite serial only TODO: make available to cite episode? | ||
− | ['Format'] = | + | ['Format'] = 'format', |
['ID'] = {'id', 'ID'}, | ['ID'] = {'id', 'ID'}, | ||
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'}, | ['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'}, | ||
Dòng 277: | Dòng 277: | ||
['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', 'no-tracking', 'notracking'}, | ['NoTracking'] = {'template-doc-demo', 'no-cat', 'nocat', 'no-tracking', 'notracking'}, | ||
['Number'] = 'number', -- this case only for cite techreport | ['Number'] = 'number', -- this case only for cite techreport | ||
− | ['OrigYear'] = {'orig-year', 'origyear | + | ['OrigYear'] = {'orig-year', 'origyear'}, |
['Others'] = 'others', | ['Others'] = 'others', | ||
− | ['Page'] = {'page', 'p | + | ['Page'] = {'page', 'p'}, -- Used by InternetArchiveBot |
− | ['Pages'] = {'pages', 'pp | + | ['Pages'] = {'pages', 'pp'}, -- Used by InternetArchiveBot |
['Periodical'] = {'journal', 'magazine', 'newspaper', 'periodical', 'website', 'work'}, | ['Periodical'] = {'journal', 'magazine', 'newspaper', 'periodical', 'website', 'work'}, | ||
− | ['Place'] = {'place', 'location | + | ['Place'] = {'place', 'location'}, |
['PostScript'] = 'postscript', | ['PostScript'] = 'postscript', | ||
['PublicationDate'] = {'publication-date', 'publicationdate'}, | ['PublicationDate'] = {'publication-date', 'publicationdate'}, | ||
Dòng 294: | Dòng 294: | ||
['ScriptPeriodical'] = {'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-website', 'script-work'}, | ['ScriptPeriodical'] = {'script-journal', 'script-magazine', 'script-newspaper', 'script-periodical', 'script-website', 'script-work'}, | ||
['ScriptTitle'] = 'script-title', -- Used by InternetArchiveBot | ['ScriptTitle'] = 'script-title', -- Used by InternetArchiveBot | ||
− | ['Season'] = | + | ['Season'] = 'season', |
['Sections'] = 'sections', -- cite map only | ['Sections'] = 'sections', -- cite map only | ||
['Series'] = {'series', 'version'}, | ['Series'] = {'series', 'version'}, | ||
Dòng 322: | Dòng 322: | ||
['Veditors'] = 'veditors', | ['Veditors'] = 'veditors', | ||
['Via'] = 'via', | ['Via'] = 'via', | ||
− | ['Volume'] = | + | ['Volume'] = 'volume', |
['Year'] = {'year','năm'}, | ['Year'] = {'year','năm'}, | ||
['AuthorList-First'] = {"first#", "author-first#", "author#-first", "given#", "tên#", "tên #"}, | ['AuthorList-First'] = {"first#", "author-first#", "author#-first", "given#", "tên#", "tên #"}, | ||
− | ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author | + | ['AuthorList-Last'] = {"last#", "author-last#", "author#-last", "author#", "surname#", "họ#", "họ #", "subject#", 'host#'}, |
− | ['AuthorList-Link'] = {"author-link#", "author#-link", "authorlink#", "author#link", "subject-link#", "subject#-link", "subjectlink#", "subject#link | + | ['AuthorList-Link'] = {"author-link#", "author#-link", "authorlink#", "author#link", "subject-link#", "subject#-link", "subjectlink#", "subject#link"}, |
['AuthorList-Mask'] = {"author-mask#", "author#-mask", "authormask#", "author#mask"}, | ['AuthorList-Mask'] = {"author-mask#", "author#-mask", "authormask#", "author#mask"}, | ||
Dòng 467: | Dòng 467: | ||
end | end | ||
− | + | local df_template_patterns = { -- table of redirects to {{Use dmy dates}} and {{Use mdy dates}} | |
− | + | '{{ *[Uu]se (dmy) dates *[|}]', -- 915k -- sorted by approximate transclusion count | |
− | + | '{{ *[Uu]se *(mdy) *dates *[|}]', -- 161k | |
− | + | '{{ *[Uu]se (DMY) dates *[|}]', -- 2929 | |
− | + | '{{ *[Uu]se *(dmy) *[|}]', -- 250 + 34 | |
− | + | '{{ *([Dd]my) *[|}]', -- 272 | |
− | + | '{{ *[Uu]se (MDY) dates *[|}]', -- 173 | |
− | + | '{{ *[Uu]se *(mdy) *[|}]', -- 59 + 12 | |
− | + | '{{ *([Mm]dy) *[|}]', -- 9 | |
− | + | '{{ *[Uu]se (MDY) *[|}]', -- 3 | |
− | + | '{{ *([Dd]MY) *[|}]', -- 2 | |
− | + | '{{ *([Mm]DY) *[|}]', -- 0 | |
− | -- '{{ *( | + | -- '{{ *[Uu]se(mdy) *[|}]', |
− | -- '{{ *( | + | -- '{{ *[Uu]se(mdy)dates *[|}]', |
− | + | -- '{{ *[Uu]se(dmy) *[|}]', | |
− | ---- | + | } |
− | ---- ' | + | |
− | -- | + | local function get_date_format () |
+ | local content = mw.title.getCurrentTitle():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 | ||
+ | local start, _, match = content:find(pattern); -- match is the three letters indicating desired date format | ||
+ | if match then | ||
+ | content = content:match ('%b{}', start); -- get the whole template | ||
+ | if content:match ('| *cs1%-dates *= *[lsy][sy]?') then -- look for |cs1-dates=publication date length access-/archive-date length | ||
+ | return match:lower() .. '-' .. content:match ('| *cs1%-dates *= *([lsy][sy]?)'); | ||
+ | else | ||
+ | return match:lower() .. '-all'; -- no |cs1-dates= k/v pair; return value appropriate for use in |df= | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | end | ||
− | + | local global_df = get_date_format (); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
--[[--------------------------< V O L U M E , I S S U E , P A G E S >---------------------------------------- | --[[--------------------------< V O L U M E , I S S U E , P A G E S >---------------------------------------- | ||
Dòng 544: | Dòng 542: | ||
['dead'] = {'dead'}, -- url-status -- Used by InternetArchiveBot | ['dead'] = {'dead'}, -- 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'}, -- url-access -- Used by InternetArchiveBot | ||
Dòng 634: | Dòng 628: | ||
['yes_true_y'] = make_keywords_list ({keywords.affirmative}), | ['yes_true_y'] = make_keywords_list ({keywords.affirmative}), | ||
['contribution'] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}), | ['contribution'] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}), | ||
− | ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd | + | ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all']}), |
-- ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all'], keywords.yMd, keywords['yMd-all']}), -- not supported at en.wiki | -- ['df'] = make_keywords_list ({keywords.dmy, keywords['dmy-all'], keywords.mdy, keywords['mdy-all'], keywords.ymd, keywords['ymd-all'], keywords.yMd, keywords['yMd-all']}), -- not supported at en.wiki | ||
['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), | ['mode'] = make_keywords_list ({keywords.cs1, keywords.cs2}), | ||
Dòng 920: | Dòng 914: | ||
local error_conditions = { | local error_conditions = { | ||
accessdate_missing_url = { | accessdate_missing_url = { | ||
− | message = ' | + | message = '<code class="cs1-code">|access-date=</code> cần <code class="cs1-code">|url=</code>', |
anchor = 'accessdate_missing_url', | anchor = 'accessdate_missing_url', | ||
category = 'Pages using citations with accessdate and no URL', | category = 'Pages using citations with accessdate and no URL', | ||
Dòng 1.178: | Dòng 1.172: | ||
}, | }, | ||
etal = { | etal = { | ||
− | message = ' | + | message = 'Explicit use of et al. in: <code class="cs1-code">|$1=</code>', -- $1 is parameter name |
anchor = 'explicit_et_al', | anchor = 'explicit_et_al', | ||
category = 'Lỗi chú thích dùng et al.', | category = 'Lỗi chú thích dùng et al.', | ||
Dòng 1.190: | Dòng 1.184: | ||
}, | }, | ||
format_missing_url = { | format_missing_url = { | ||
− | message = '<code class="cs1-code">|$1=</code> | + | message = '<code class="cs1-code">|$1=</code> requires <code class="cs1-code">|$2=</code>', -- $1 is format parameter $2 is url parameter |
anchor = 'format_missing_url', | anchor = 'format_missing_url', | ||
category = 'Pages using citations with format and no URL', | category = 'Pages using citations with format and no URL', | ||
Dòng 1.196: | Dòng 1.190: | ||
}, | }, | ||
invalid_param_val = { | invalid_param_val = { | ||
− | message = '<code class="cs1-code">|$1=$2</code> | + | message = 'Invalid <code class="cs1-code">|$1=$2</code>', -- $1 is parameter name $2 is paramter value |
anchor = 'invalid_param_val', | anchor = 'invalid_param_val', | ||
category = 'CS1 errors: invalid parameter value', | category = 'CS1 errors: invalid parameter value', | ||
Dòng 1.202: | Dòng 1.196: | ||
}, | }, | ||
invisible_char = { | invisible_char = { | ||
− | message = '$1 | + | message = '$1 in $2 at position $3', -- $1 is invisible char $2 is parameter name $3 is position number |
anchor = 'invisible_char', | anchor = 'invisible_char', | ||
category = 'CS1 errors: invisible characters', | category = 'CS1 errors: invisible characters', | ||
Dòng 1.208: | Dòng 1.202: | ||
}, | }, | ||
missing_name = { | missing_name = { | ||
− | message = ' | + | message = 'Missing <code class="cs1-code">|$1$2=</code>', -- $1 is modified NameList; $2 is enumerator |
anchor = 'missing_name', | anchor = 'missing_name', | ||
category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | category = 'CS1 errors: missing name', -- author, contributor, editor, interviewer, translator | ||
Dòng 1.214: | Dòng 1.208: | ||
}, | }, | ||
missing_periodical = { | missing_periodical = { | ||
− | message = ' | + | message = 'Cite $1 requires <code class="cs1-code">|$2=</code>', -- $1 is cs1 template name; $2 is canonical periodical parameter name for cite $1 |
anchor = 'missing_periodical', | anchor = 'missing_periodical', | ||
category = 'CS1 errors: missing periodical', | category = 'CS1 errors: missing periodical', | ||
Dòng 1.220: | Dòng 1.214: | ||
}, | }, | ||
missing_pipe = { | missing_pipe = { | ||
− | message = ' | + | message = 'Missing pipe in: <code class="cs1-code">|$1=</code>', -- $1 is parameter name |
anchor = 'missing_pipe', | anchor = 'missing_pipe', | ||
category = 'CS1 errors: missing pipe', | category = 'CS1 errors: missing pipe', | ||
Dòng 1.232: | Dòng 1.226: | ||
}, | }, | ||
param_has_ext_link = { | param_has_ext_link = { | ||
− | message = ' | + | message = 'External link in <code class="cs1-code">$1</code>', -- $1 is parameter name |
anchor = 'param_has_ext_link', | anchor = 'param_has_ext_link', | ||
category = 'CS1 errors: external links', | category = 'CS1 errors: external links', | ||
Dòng 1.238: | Dòng 1.232: | ||
}, | }, | ||
parameter_ignored = { | parameter_ignored = { | ||
− | message = ' | + | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored', -- $1 is parameter name |
anchor = 'parameter_ignored', | anchor = 'parameter_ignored', | ||
− | category = ' | + | category = 'Pages with citations using unsupported parameters', |
hidden = false | hidden = false | ||
}, | }, | ||
parameter_ignored_suggest = { | parameter_ignored_suggest = { | ||
− | message = ' | + | message = 'Unknown parameter <code class="cs1-code">|$1=</code> ignored (<code class="cs1-code">|$2=</code> suggested)', -- $1 is unknown paramter $2 is suggested parameter name |
anchor = 'parameter_ignored_suggest', | anchor = 'parameter_ignored_suggest', | ||
− | category = ' | + | category = 'Pages with citations using unsupported parameters', |
hidden = false | hidden = false | ||
}, | }, | ||
redundant_parameters = { | redundant_parameters = { | ||
− | message = ' | + | message = 'More than one of $1 specified', -- $1 is error message detail |
anchor = 'redundant_parameters', | anchor = 'redundant_parameters', | ||
− | category = ' | + | category = 'Pages with citations having redundant parameters', |
hidden = false | hidden = false | ||
}, | }, | ||
script_parameter = { | script_parameter = { | ||
− | message = '<code class="cs1-code">|$1=</code> | + | message = 'Invalid <code class="cs1-code">|$1=</code>: $2', -- $1 is parameter name $2 is script language code or error detail |
anchor = 'script_parameter', | anchor = 'script_parameter', | ||
category = 'CS1 errors: script parameters', | category = 'CS1 errors: script parameters', | ||
Dòng 1.262: | Dòng 1.256: | ||
}, | }, | ||
ssrn_missing = { | ssrn_missing = { | ||
− | message = ' | + | message = '<code class="cs1-code">|ssrn=</code> required', |
anchor = 'ssrn_missing', | anchor = 'ssrn_missing', | ||
category = 'CS1 errors: ssrn', -- same as bad arxiv | category = 'CS1 errors: ssrn', -- same as bad arxiv | ||
Dòng 1.268: | Dòng 1.262: | ||
}, | }, | ||
text_ignored = { | text_ignored = { | ||
− | message = ' | + | message = 'Text "$1" ignored', -- $1 is ignored text |
anchor = 'text_ignored', | anchor = 'text_ignored', | ||
category = 'Pages with citations using unnamed parameters', | category = 'Pages with citations using unnamed parameters', | ||
Dòng 1.280: | Dòng 1.274: | ||
}, | }, | ||
vancouver = { | vancouver = { | ||
− | message = ' | + | message = 'Vancouver style error: $1', -- $1 is error detail |
anchor = 'vancouver', | anchor = 'vancouver', | ||
category = 'CS1 errors: Vancouver style', | category = 'CS1 errors: Vancouver style', | ||
Dòng 1.286: | Dòng 1.280: | ||
}, | }, | ||
wikilink_in_url = { | wikilink_in_url = { | ||
− | message = ' | + | message = 'URL–wikilink conflict', -- uses ndash |
anchor = 'wikilink_in_url', | anchor = 'wikilink_in_url', | ||
category = 'CS1 errors: URL–wikilink conflict', -- uses ndash | category = 'CS1 errors: URL–wikilink conflict', -- uses ndash | ||
Dòng 1.560: | Dòng 1.554: | ||
encode = true, | encode = true, | ||
separator = ' ', | separator = ' ', | ||
− | id_limit = | + | id_limit = 7500000, |
access = 'free', -- free to read | access = 'free', -- free to read | ||
}, | }, | ||
Dòng 1.574: | Dòng 1.568: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
− | id_limit = | + | id_limit = 33000000, |
}, | }, | ||
['RFC'] = { | ['RFC'] = { | ||
Dòng 1.624: | Dòng 1.618: | ||
encode = false, | encode = false, | ||
separator = ' ', | separator = ' ', | ||
− | id_limit = | + | id_limit = 230000000, |
custom_access = 's2cid-access', | custom_access = 's2cid-access', | ||
}, | }, |