Difference between revisions of "Module:Distinguish"

From blackwiki
Jump to navigation Jump to search
test>Shirayuki
(translation tweaks)
(Blackwikiadmin changed the content model of the page Module:Distinguish from "wikitext" to "Scribunto")
Tag: content model change
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<noinclude>
+
local mHatnote = require('Module:Hatnote')
<languages/>
+
local mHatlist = require('Module:Hatnote list')
</noinclude>{{#switch:<translate></translate>
+
local mArguments --initialize lazily
| =
+
local mTableTools --initialize lazily
{{Hatnote|1=<translate><!--T:1--> Not to be confused with <tvar|1>[[:{{{1}}}]]</></translate>{{
+
local libraryUtil = require('libraryUtil')
    #if: {{{3|}}}{{{4|}}}
+
local checkType = libraryUtil.checkType
    |{{int|comma-separator}}[[:{{{2}}}]]{{int|comma-separator}} {{
+
local p = {}
      #if: {{{4|}}}
+
 
      | [[:{{{3}}}]]{{int|comma-separator}}<translate>&nbsp;or</translate>{{int|word-separator}}[[:{{{4}}}]]
+
function p.distinguish(frame)
      | <translate>&nbsp;or</translate>{{int|word-separator}}[[:{{{3}}}]]
+
mArguments = require('Module:Arguments')
    }}
+
mTableTools = require('Module:TableTools')
    | {{
+
local args = mArguments.getArgs(frame)
      #if: {{{2|}}}
+
local selfref = args.selfref
      | <translate>&nbsp;or</translate>{{int|word-separator}}[[:{{{2}}}]]
+
local text = args.text
    }}
+
args = mTableTools.compressSparseArray(args)
  }}.}}
+
return p._distinguish(args, text, selfref)
| #default=
+
end
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Distinguish|noshift=1}}
+
 
}}<noinclude><!-- splitting these lines causes {{Documentation}} template to terminate green shading when Distinguish is used in /doc pages. -->
+
function p._distinguish(args, text, selfref)
{{Documentation}}
+
checkType("_distinguish", 1, args, 'table')
<!-- Add categories to the /doc subpage and interwikis to Wikidata, not here! -->
+
if #args == 0 and not text then return '' end
</noinclude>
+
local text = string.format(
 +
'Not to be confused with %s.',
 +
text or mHatlist.orList(args, true)
 +
)
 +
hnOptions = {selfref = selfref}
 +
return mHatnote._hatnote(text, hnOptions)
 +
end
 +
 
 +
return p

Latest revision as of 14:43, 13 December 2020

Implements {{distinguish}}.


local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mArguments --initialize lazily
local mTableTools --initialize lazily
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}

function p.distinguish(frame)
	mArguments = require('Module:Arguments')
	mTableTools = require('Module:TableTools')
	local args = mArguments.getArgs(frame)
	local selfref = args.selfref
	local text = args.text
	args = mTableTools.compressSparseArray(args)
	return p._distinguish(args, text, selfref)
end

function p._distinguish(args, text, selfref)
	checkType("_distinguish", 1, args, 'table')
	if #args == 0 and not text then return '' end
	local text = string.format(
		'Not to be confused with %s.',
		text or mHatlist.orList(args, true)
	)
	hnOptions = {selfref = selfref}
	return mHatnote._hatnote(text, hnOptions)
end

return p