Content added Content deleted
(make 'string' the default message type in the message function to avoid having 'string' all over the place) |
(use hyphens for message names rather than camelCase, in line with MediaWiki) |
||
Line 29: | Line 29: | ||
-- message are substituted with values from the table keys [1], [2] etc. |
-- message are substituted with values from the table keys [1], [2] etc. |
||
-- For example, if the message cfg.fooMessage had the value 'Foo $2 bar $1.', |
-- For example, if the message cfg.fooMessage had the value 'Foo $2 bar $1.', |
||
-- message(' |
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." |
||
--]] |
--]] |
||
local msg = cfg[cfgKey] |
local msg = cfg[cfgKey] |
||
Line 127: | Line 127: | ||
-- so that we don't have to worry about unclosed tags. |
-- so that we don't have to worry about unclosed tags. |
||
.tag('div') |
.tag('div') |
||
.attr('id', message(' |
.attr('id', message('main-div-id')) |
||
.addClass(message(' |
.addClass(message('main-div-classes')) |
||
.newline() |
.newline() |
||
.wikitext(p._startBox(args, env)) |
.wikitext(p._startBox(args, env)) |
||
Line 196: | Line 196: | ||
title = mw.title.new(titleArg) |
title = mw.title.new(titleArg) |
||
if not title then |
if not title then |
||
error(message(' |
error(message('title-arg-error', {titleArg})) |
||
end |
end |
||
else |
else |
||
Line 208: | Line 208: | ||
local title = env.title |
local title = env.title |
||
local subpage = title.subpageText |
local subpage = title.subpageText |
||
if subpage == message(' |
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then |
||
return title.basePageTitle |
return title.basePageTitle |
||
else |
else |
||
Line 223: | Line 223: | ||
docpage = docname |
docpage = docname |
||
else |
else |
||
docpage = env.docpageRoot .. '/' .. message(' |
docpage = env.docpageRoot .. '/' .. message('doc-subpage') |
||
end |
end |
||
return mw.title.new(docpage) |
return mw.title.new(docpage) |
||
Line 230: | Line 230: | ||
function envFuncs.sandboxTitle() |
function envFuncs.sandboxTitle() |
||
-- Title object for the /sandbox subpage. |
-- Title object for the /sandbox subpage. |
||
return mw.title.new(env.docpageRoot .. '/' .. message(' |
return mw.title.new(env.docpageRoot .. '/' .. message('sandbox-subpage')) |
||
end |
end |
||
function envFuncs.testcasesTitle() |
function envFuncs.testcasesTitle() |
||
-- Title object for the /testcases subpage. |
-- Title object for the /testcases subpage. |
||
return mw.title.new(env.docpageRoot .. '/' .. message(' |
return mw.title.new(env.docpageRoot .. '/' .. message('testcases-subpage')) |
||
end |
end |
||
function envFuncs.printTitle() |
function envFuncs.printTitle() |
||
-- Title object for the /Print subpage. |
-- Title object for the /Print subpage. |
||
return env.templateTitle:subPageTitle(message(' |
return env.templateTitle:subPageTitle(message('print-subpage')) |
||
end |
end |
||
Line 297: | Line 297: | ||
local omargs = {} -- Args for {{ombox}}. |
local omargs = {} -- Args for {{ombox}}. |
||
-- Get the image wikitext. |
-- Get the image wikitext. |
||
omargs.image = message(' |
omargs.image = message('sandbox-notice-image') |
||
-- Get the text. We start with the opening blurb, which is something like |
-- Get the text. We start with the opening blurb, which is something like |
||
-- "This is the template sandbox for [[Template:Foo]] (diff)." |
-- "This is the template sandbox for [[Template:Foo]] (diff)." |
||
Line 307: | Line 307: | ||
if isPreviewing or not compareUrl then |
if isPreviewing or not compareUrl then |
||
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.' |
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1.' |
||
text = text .. message(' |
text = text .. message('sandbox-notice-blurb', {templateLink}) |
||
else |
else |
||
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).' |
-- 'This is the [[Wikipedia:Template test cases|template sandbox]] page for $1 ($2).' |
||
local compareDisplay = message(' |
local compareDisplay = message('sandbox-notice-compare-link-display') |
||
local compareLink = makeUrlLink(compareUrl, compareDisplay) |
local compareLink = makeUrlLink(compareUrl, compareDisplay) |
||
text = text .. message(' |
text = text .. message('sandbox-notice-diff-blurb', {templateLink, compareLink}) |
||
end |
end |
||
-- Get the test cases page blurb if the page exists. |
-- Get the test cases page blurb if the page exists. |
||
local testcasesTitle = env.testcasesTitle |
local testcasesTitle = env.testcasesTitle |
||
if testcasesTitle and testcasesTitle.exists then |
if testcasesTitle and testcasesTitle.exists then |
||
local testcasesLinkDisplay = message(' |
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') |
||
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) |
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) |
||
text = text .. '<br />' .. message(' |
text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) |
||
end |
end |
||
-- Add the page to [[Category:Template sandboxes]]. |
-- Add the page to [[Category:Template sandboxes]]. |
||
text = text .. makeCategoryLink(message(' |
text = text .. makeCategoryLink(message('sandbox-category')) |
||
omargs.text = text |
omargs.text = text |
||
return messageBox.main('ombox', omargs) |
return messageBox.main('ombox', omargs) |
||
Line 329: | Line 329: | ||
function p.protectionTemplate(env) |
function p.protectionTemplate(env) |
||
local title = env.title |
local title = env.title |
||
local protectionTemplate = message(' |
local protectionTemplate = message('protection-template') |
||
if not (protectionTemplate and title.namespace == 10) then |
if not (protectionTemplate and title.namespace == 10) then |
||
-- Don't display the protection template if we are not in the template namespace. |
-- Don't display the protection template if we are not in the template namespace. |
||
Line 347: | Line 347: | ||
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then |
if getProtectionLevel('move', prefixedTitle) == 'sysop' or getProtectionLevel('edit', prefixedTitle) then |
||
-- The page is full-move protected, or full, template, or semi-protected. |
-- The page is full-move protected, or full, template, or semi-protected. |
||
return frame:expandTemplate{title = protectionTemplate, args = message(' |
return frame:expandTemplate{title = protectionTemplate, args = message('protection-template-args', nil, 'table')} |
||
end |
end |
||
return nil |
return nil |
||
Line 390: | Line 390: | ||
data.docTitle = docTitle |
data.docTitle = docTitle |
||
-- View, display, edit, and purge links if /doc exists. |
-- View, display, edit, and purge links if /doc exists. |
||
data.viewLinkDisplay = message(' |
data.viewLinkDisplay = message('view-link-display') |
||
data.editLinkDisplay = message(' |
data.editLinkDisplay = message('edit-link-display') |
||
data.historyLinkDisplay = message(' |
data.historyLinkDisplay = message('history-link-display') |
||
data.purgeLinkDisplay = message(' |
data.purgeLinkDisplay = message('purge-link-display') |
||
-- Create link if /doc doesn't exist. |
-- Create link if /doc doesn't exist. |
||
local preload = args.preload |
local preload = args.preload |
||
if not preload then |
if not preload then |
||
if env.subjectSpace == 6 then -- File namespace |
if env.subjectSpace == 6 then -- File namespace |
||
preload = message(' |
preload = message('file-docpage-preload') |
||
else |
else |
||
preload = message(' |
preload = message('docpage-preload') |
||
end |
end |
||
end |
end |
||
data.preload = preload |
data.preload = preload |
||
data.createLinkDisplay = message(' |
data.createLinkDisplay = message('create-link-display') |
||
return data |
return data |
||
end |
end |
||
Line 445: | Line 445: | ||
data.heading = heading |
data.heading = heading |
||
elseif subjectSpace == 10 then -- Template namespace |
elseif subjectSpace == 10 then -- Template namespace |
||
data.heading = message(' |
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') |
||
elseif subjectSpace == 828 then -- Module namespace |
elseif subjectSpace == 828 then -- Module namespace |
||
data.heading = message(' |
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') |
||
elseif subjectSpace == 6 then -- File namespace |
elseif subjectSpace == 6 then -- File namespace |
||
data.heading = message(' |
data.heading = message('file-namespace-heading') |
||
else |
else |
||
data.heading = message(' |
data.heading = message('other-namespaces-heading') |
||
end |
end |
||
Line 468: | Line 468: | ||
-- [view][edit][history][purge] or [create] links. |
-- [view][edit][history][purge] or [create] links. |
||
if links then |
if links then |
||
data.linksClass = message(' |
data.linksClass = message('start-box-linkclasses') |
||
data.linksId = message(' |
data.linksId = message('start-box-link-id') |
||
data.links = links |
data.links = links |
||
end |
end |
||
Line 549: | Line 549: | ||
-- Assemble the arguments for {{fmbox}}. |
-- Assemble the arguments for {{fmbox}}. |
||
local fmargs = {} |
local fmargs = {} |
||
fmargs.id = message(' |
fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data' |
||
fmargs.image = message(' |
fmargs.image = message('fmbox-image-none') -- Sets 'none' |
||
fmargs.style = message(' |
fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4' |
||
fmargs.textstyle = message(' |
fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;' |
||
-- Assemble the fmbox text field. |
-- Assemble the fmbox text field. |
||
Line 597: | Line 597: | ||
local ret |
local ret |
||
if printTitle.exists then |
if printTitle.exists then |
||
local printLink = makeWikilink(printTitle.prefixedText, message(' |
local printLink = makeWikilink(printTitle.prefixedText, message('print-link-display')) |
||
ret = message(' |
ret = message('print-blurb', {printLink}) |
||
local displayPrintCategory = message(' |
local displayPrintCategory = message('display-print-category', nil, 'boolean') |
||
if displayPrintCategory then |
if displayPrintCategory then |
||
ret = ret .. makeCategoryLink(message(' |
ret = ret .. makeCategoryLink(message('print-category')) |
||
end |
end |
||
end |
end |
||
Line 617: | Line 617: | ||
local pagetype |
local pagetype |
||
if subjectSpace == 10 then |
if subjectSpace == 10 then |
||
pagetype = message(' |
pagetype = message('template-pagetype') |
||
elseif subjectSpace == 828 then |
elseif subjectSpace == 828 then |
||
pagetype = message(' |
pagetype = message('module-pagetype') |
||
else |
else |
||
pagetype = message(' |
pagetype = message('default-pagetype') |
||
end |
end |
||
return makeWikilink( |
return makeWikilink( |
||
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', |
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', |
||
message(' |
message('subpages-link-display', {pagetype}) |
||
) |
) |
||
end |
end |
||
Line 636: | Line 636: | ||
end |
end |
||
-- Make the blurb. |
-- Make the blurb. |
||
local docPathLink = makeWikilink(docTitle.prefixedText, message(' |
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) |
||
return message(' |
return message('add-categories-blurb', {docPathLink}) |
||
end |
end |
||
Line 652: | Line 652: | ||
local docLink = makeWikilink(docTitle.prefixedText) |
local docLink = makeWikilink(docTitle.prefixedText) |
||
local editUrl = docTitle:fullUrl{action = 'edit'} |
local editUrl = docTitle:fullUrl{action = 'edit'} |
||
local editDisplay = message(' |
local editDisplay = message('edit-link-display') |
||
local editLink = makeUrlLink(editUrl, editDisplay) |
local editLink = makeUrlLink(editUrl, editDisplay) |
||
local historyUrl = docTitle:fullUrl{action = 'history'} |
local historyUrl = docTitle:fullUrl{action = 'history'} |
||
local historyDisplay = message(' |
local historyDisplay = message('history-link-display') |
||
local historyLink = makeUrlLink(historyUrl, historyDisplay) |
local historyLink = makeUrlLink(historyUrl, historyDisplay) |
||
ret = message(' |
ret = message('transcluded-from-blurb', {docLink}) |
||
.. ' ' |
.. ' ' |
||
.. makeToolbar(editLink, historyLink) |
.. makeToolbar(editLink, historyLink) |
||
Line 663: | Line 663: | ||
elseif env.subjectSpace == 828 then |
elseif env.subjectSpace == 828 then |
||
-- /doc does not exist; ask to create it. |
-- /doc does not exist; ask to create it. |
||
local createUrl = docTitle:fullUrl{action = 'edit', preload = message(' |
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} |
||
local createDisplay = message(' |
local createDisplay = message('create-link-display') |
||
local createLink = makeUrlLink(createUrl, createDisplay) |
local createLink = makeUrlLink(createUrl, createDisplay) |
||
ret = message(' |
ret = message('create-module-doc-blurb', {createLink}) |
||
.. '<br />' |
.. '<br />' |
||
end |
end |
||
Line 687: | Line 687: | ||
if sandboxTitle.exists then |
if sandboxTitle.exists then |
||
local sandboxPage = sandboxTitle.prefixedText |
local sandboxPage = sandboxTitle.prefixedText |
||
local sandboxDisplay = message(' |
local sandboxDisplay = message('sandbox-link-display') |
||
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) |
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) |
||
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} |
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} |
||
local sandboxEditDisplay = message(' |
local sandboxEditDisplay = message('sandbox-edit-link-display') |
||
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) |
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) |
||
local compareUrl = env.compareUrl |
local compareUrl = env.compareUrl |
||
local compareLink |
local compareLink |
||
if compareUrl then |
if compareUrl then |
||
local compareDisplay = message(' |
local compareDisplay = message('compare-link-display') |
||
compareLink = makeUrlLink(compareUrl, compareDisplay) |
compareLink = makeUrlLink(compareUrl, compareDisplay) |
||
end |
end |
||
Line 702: | Line 702: | ||
local sandboxPreload |
local sandboxPreload |
||
if subjectSpace == 828 then |
if subjectSpace == 828 then |
||
sandboxPreload = message(' |
sandboxPreload = message('module-sandbox-preload') |
||
else |
else |
||
sandboxPreload = message(' |
sandboxPreload = message('template-sandbox-preload') |
||
end |
end |
||
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} |
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} |
||
local sandboxCreateDisplay = message(' |
local sandboxCreateDisplay = message('sandbox-create-link-display') |
||
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) |
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) |
||
local mirrorSummary = message(' |
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) |
||
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary} |
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templatePage, summary = mirrorSummary} |
||
local mirrorDisplay = message(' |
local mirrorDisplay = message('mirror-link-display') |
||
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) |
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) |
||
sandboxLinks = message(' |
sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) |
||
end |
end |
||
if testcasesTitle.exists then |
if testcasesTitle.exists then |
||
local testcasesPage = testcasesTitle.prefixedText |
local testcasesPage = testcasesTitle.prefixedText |
||
local testcasesDisplay = message(' |
local testcasesDisplay = message('testcases-link-display') |
||
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) |
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) |
||
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} |
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} |
||
local testcasesEditDisplay = message(' |
local testcasesEditDisplay = message('testcases-edit-link-display') |
||
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) |
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) |
||
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) |
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) |
||
Line 726: | Line 726: | ||
local testcasesPreload |
local testcasesPreload |
||
if subjectSpace == 828 then |
if subjectSpace == 828 then |
||
testcasesPreload = message(' |
testcasesPreload = message('module-testcases-preload') |
||
else |
else |
||
testcasesPreload = message(' |
testcasesPreload = message('template-testcases-preload') |
||
end |
end |
||
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} |
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} |
||
local testcasesCreateDisplay = message(' |
local testcasesCreateDisplay = message('testcases-create-link-display') |
||
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) |
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) |
||
testcasesLinks = message(' |
testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) |
||
end |
end |
||
local messageName |
local messageName |
||
Line 753: | Line 753: | ||
local ret = '' |
local ret = '' |
||
local subpage = title.subpageText |
local subpage = title.subpageText |
||
if message(' |
if message('display-strange-usage-category', nil, 'boolean') and (subpage == message('doc-subpage') or subpage == message('testcases-subpage')) then |
||
local sort = (title.namespace == 0 and message(' |
local sort = (title.namespace == 0 and message('strange-usage-category-mainspace-sort') or '') .. title.prefixedText -- Sort on namespace. |
||
ret = ret .. makeCategoryLink(message(' |
ret = ret .. makeCategoryLink(message('strange-usage-category'), sort) |
||
end |
end |
||
return ret |
return ret |