<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://test.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3AEtymology%2Ftemplates</id>
	<title>Module:Etymology/templates - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://test.st34an.tech/index.php?action=history&amp;feed=atom&amp;title=Module%3AEtymology%2Ftemplates"/>
	<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Etymology/templates&amp;action=history"/>
	<updated>2026-04-10T21:02:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://test.st34an.tech/index.php?title=Module:Etymology/templates&amp;diff=501&amp;oldid=prev</id>
		<title>Jsrs701: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Etymology/templates&amp;diff=501&amp;oldid=prev"/>
		<updated>2026-04-10T07:29:49Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:29, 10 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key mediawikidb:diff:1.41:old-500:rev-501 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jsrs701</name></author>
	</entry>
	<entry>
		<id>https://test.st34an.tech/index.php?title=Module:Etymology/templates&amp;diff=500&amp;oldid=prev</id>
		<title>bob&gt;Juelos: Undo revision 536380 by Juelos (talk)</title>
		<link rel="alternate" type="text/html" href="https://test.st34an.tech/index.php?title=Module:Etymology/templates&amp;diff=500&amp;oldid=prev"/>
		<updated>2024-09-06T07:40:42Z</updated>

		<summary type="html">&lt;p&gt;Undo revision &lt;a href=&quot;/index.php?title=Special:Diff/536380&quot; title=&quot;Special:Diff/536380&quot;&gt;536380&lt;/a&gt; by &lt;a href=&quot;/index.php?title=Special:Contributions/Juelos&quot; title=&quot;Special:Contributions/Juelos&quot;&gt;Juelos&lt;/a&gt; (&lt;a href=&quot;/index.php?title=User_talk:Juelos&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:Juelos (page does not exist)&quot;&gt;talk&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
local m_languages = require(&amp;quot;Module:languages&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function fetch_lang(lang, parameter)&lt;br /&gt;
	return m_languages.getByCode(lang) or m_languages.err(lang, parameter)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function fetch_source(code, disallow_family)&lt;br /&gt;
	local source =&lt;br /&gt;
		m_languages.getByCode(code)&lt;br /&gt;
		or require(&amp;quot;Module:etymology languages&amp;quot;).getByCode(code)&lt;br /&gt;
		or not disallow_family and require(&amp;quot;Module:families&amp;quot;).getByCode(code)&lt;br /&gt;
	&lt;br /&gt;
	if source then&lt;br /&gt;
		return source&lt;br /&gt;
	else&lt;br /&gt;
		error(&amp;quot;The language&amp;quot; .. (not disallow_family and &amp;quot;, family&amp;quot; or &amp;quot;&amp;quot;) .. &amp;quot; or etymology language code \&amp;quot;&amp;quot; .. code .. &amp;quot;\&amp;quot; is not valid.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function fetch_script(sc)&lt;br /&gt;
	if sc then&lt;br /&gt;
		return require(&amp;quot;Module:scripts&amp;quot;).getByCode(sc) or error(&amp;quot;The script code \&amp;quot;&amp;quot; .. sc .. &amp;quot;\&amp;quot; is not valid.&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.etyl(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local source = fetch_source(args[1])&lt;br /&gt;
	local lang = args[2]&lt;br /&gt;
	local sort_key = args[&amp;quot;sort&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	-- Empty language means English, but &amp;quot;-&amp;quot; means no language. Yes, confusing...&lt;br /&gt;
	if not lang then&lt;br /&gt;
		lang = &amp;quot;en&amp;quot;&lt;br /&gt;
	elseif lang == &amp;quot;-&amp;quot; then&lt;br /&gt;
		lang = nil&lt;br /&gt;
	end&lt;br /&gt;
	if lang then&lt;br /&gt;
		lang = fetch_lang(lang, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if lang and (lang:getCode() == &amp;quot;la&amp;quot; or lang:getCode() == &amp;quot;nl&amp;quot;) then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;etyl/&amp;quot; .. lang:getCode())&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;etyl/&amp;quot; .. lang:getCode() .. &amp;quot;/&amp;quot; .. source:getCode())&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_etyl(lang, source, sort_key)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.cognate(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if args.gloss then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;cognate/gloss param&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {},&lt;br /&gt;
		[3] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	args = require(&amp;quot;Module:parameters&amp;quot;).process(args, params)&lt;br /&gt;
	&lt;br /&gt;
	local source = fetch_source(args[1])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_cognate(&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[2],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;]&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.noncognate(frame)&lt;br /&gt;
	return export.cognate(frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.derived(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_derived(&lt;br /&gt;
		lang, &lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;]&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.inherited(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2], &amp;quot;no family&amp;quot;)&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_inherited(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;]&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.borrowed(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_borrowed(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], false, true, &amp;quot;plain&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.learned_borrowed(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if args.gloss then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;learned_borrowed/gloss param&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	args = require(&amp;quot;Module:parameters&amp;quot;).process(args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_borrowed(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], args[&amp;quot;nocap&amp;quot;], args[&amp;quot;notext&amp;quot;], &amp;quot;learned&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.orthographic_borrowed(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if args.gloss then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;orthographic_borrowed/gloss param&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	args = require(&amp;quot;Module:parameters&amp;quot;).process(args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_borrowed(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], args[&amp;quot;nocap&amp;quot;], args[&amp;quot;notext&amp;quot;], &amp;quot;orthographic&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.unadapted_borrowed(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	if args.gloss then&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;unadapted_borrowed/gloss param&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	args = require(&amp;quot;Module:parameters&amp;quot;).process(args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_borrowed(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], args[&amp;quot;nocap&amp;quot;], args[&amp;quot;notext&amp;quot;], &amp;quot;unadapted&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.calque(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- More informative error message.&lt;br /&gt;
	if args[&amp;quot;etyl lang&amp;quot;] or args[&amp;quot;etyl term&amp;quot;] or args[&amp;quot;etyl t&amp;quot;] or args[&amp;quot;etyl tr&amp;quot;] then&lt;br /&gt;
		error(&amp;quot;{{[[Template:calque|calque]]}} no longer supports parameters beginning with etyl. &amp;quot; ..&lt;br /&gt;
			&amp;quot;The parameters supported are similar to those used by &amp;quot; ..&lt;br /&gt;
			&amp;quot;{{[[Template:der|der]]}}, {{[[Template:inh|inh]]}}, &amp;quot; ..&lt;br /&gt;
			&amp;quot;{{[[Template:bor|bor]]}}. See [[Template:calque/documentation]] for more.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	args = require(&amp;quot;Module:parameters&amp;quot;).process(args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).calque(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;],&lt;br /&gt;
		args[&amp;quot;nocap&amp;quot;],&lt;br /&gt;
		args[&amp;quot;notext&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.semantic_loan(frame)&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ger&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).format_semantic_loan(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], args[&amp;quot;nocap&amp;quot;], args[&amp;quot;notext&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.psm(frame)&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[5] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local source = fetch_source(args[2])&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
	return require(&amp;quot;Module:etymology&amp;quot;).psm(&lt;br /&gt;
		lang,&lt;br /&gt;
		{&lt;br /&gt;
			lang = source,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = args[3],&lt;br /&gt;
			alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
		},&lt;br /&gt;
		args[&amp;quot;sort&amp;quot;], args[&amp;quot;nocap&amp;quot;], args[&amp;quot;notext&amp;quot;])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function qualifier(content)&lt;br /&gt;
	if content then&lt;br /&gt;
		return table.concat{&lt;br /&gt;
			&amp;#039;&amp;lt;span class=&amp;quot;ib-brac qualifier-brac&amp;quot;&amp;gt;(&amp;lt;/span&amp;gt;&amp;#039;,&lt;br /&gt;
			&amp;#039;&amp;lt;span class=&amp;quot;ib-content qualifier-content&amp;quot;&amp;gt;&amp;#039;,&lt;br /&gt;
			content,&lt;br /&gt;
			&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;,&lt;br /&gt;
			&amp;#039;&amp;lt;span class=&amp;quot;ib-brac qualifier-brac&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.descendant(frame)&lt;br /&gt;
	local namespace = mw.title.getCurrentTitle().nsText&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = { required = true },&lt;br /&gt;
		[2] = {},&lt;br /&gt;
		[3] = {},&lt;br /&gt;
		[4] = { alias_of = &amp;quot;gloss&amp;quot; },&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = { alias_of = &amp;quot;gloss&amp;quot; },&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;bor&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
		[&amp;quot;der&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
		[&amp;quot;clq&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
		[&amp;quot;cal&amp;quot;] = { alias_of = &amp;quot;clq&amp;quot; },&lt;br /&gt;
		[&amp;quot;calq&amp;quot;] = { alias_of = &amp;quot;clq&amp;quot; },&lt;br /&gt;
		[&amp;quot;calque&amp;quot;] = { alias_of = &amp;quot;clq&amp;quot; },&lt;br /&gt;
		[&amp;quot;sl&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
		[&amp;quot;semantic loan&amp;quot;] = { alias_of = &amp;quot;sl&amp;quot; },&lt;br /&gt;
		[&amp;quot;alts&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
		[&amp;quot;sclb&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = args[1]&lt;br /&gt;
	local term = args[2]&lt;br /&gt;
	local alt = args[3]&lt;br /&gt;
	local gloss = args[&amp;quot;gloss&amp;quot;]&lt;br /&gt;
	local tr = args[&amp;quot;tr&amp;quot;]&lt;br /&gt;
	local ts = args[&amp;quot;ts&amp;quot;]&lt;br /&gt;
	local sc = args[&amp;quot;sc&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	if namespace == &amp;quot;Template&amp;quot; then&lt;br /&gt;
		if not ( sc or lang ) then&lt;br /&gt;
			sc = &amp;quot;Latn&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		if not lang then&lt;br /&gt;
			lang = &amp;quot;en&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		if not term then&lt;br /&gt;
			term = &amp;quot;word&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	lang = m_languages.getByCode(lang)&lt;br /&gt;
		or require(&amp;quot;Module:etymology languages&amp;quot;).getByCode(lang)&lt;br /&gt;
		or m_languages.err(lang, 1)&lt;br /&gt;
		&lt;br /&gt;
	local entryLang = require(&amp;quot;Module:etymology&amp;quot;).getNonEtymological(lang)&lt;br /&gt;
	&lt;br /&gt;
	if lang:getCode() ~= entryLang:getCode() then&lt;br /&gt;
		-- [[Special:WhatLinksHere/Template:tracking/descendant/etymological]]&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;descendant/etymological&amp;quot;)&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;descendant/etymological/&amp;quot; .. lang:getCode())&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if sc then&lt;br /&gt;
		sc = require(&amp;quot;Module:scripts&amp;quot;).getByCode(sc) or error(&amp;quot;The script code \&amp;quot;&amp;quot; .. sc .. &amp;quot;\&amp;quot; is not valid.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local languageName = lang:getCanonicalName()&lt;br /&gt;
	languageName = mw.ustring.gsub(languageName, &amp;quot;^Proto%-&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local link = &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if term ~= &amp;quot;-&amp;quot; then&lt;br /&gt;
		link = require(&amp;quot;Module:links&amp;quot;).full_link(&lt;br /&gt;
			{&lt;br /&gt;
				lang = entryLang,&lt;br /&gt;
				sc = sc,&lt;br /&gt;
				term = term,&lt;br /&gt;
				alt = alt,&lt;br /&gt;
				id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
				tr = tr,&lt;br /&gt;
				ts = ts,&lt;br /&gt;
				genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
				gloss = gloss,&lt;br /&gt;
				pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
				lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
			},&lt;br /&gt;
			nil,&lt;br /&gt;
			true)&lt;br /&gt;
	elseif ts or gloss then&lt;br /&gt;
		-- [[Special:WhatLinksHere/Template:tracking/descendant/no term]]&lt;br /&gt;
		require &amp;quot;Module:debug&amp;quot;.track(&amp;quot;descendant/no term&amp;quot;)&lt;br /&gt;
		link = require(&amp;quot;Module:links&amp;quot;).full_link(&lt;br /&gt;
			{&lt;br /&gt;
				lang = entryLang,&lt;br /&gt;
				sc = sc,&lt;br /&gt;
				ts = ts,&lt;br /&gt;
				gloss = gloss,&lt;br /&gt;
			},&lt;br /&gt;
			nil,&lt;br /&gt;
			true)&lt;br /&gt;
		link = link&lt;br /&gt;
			:gsub(&amp;quot;&amp;lt;small&amp;gt;%[Term%?%]&amp;lt;/small&amp;gt; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
			:gsub(&amp;quot;%[%[Category:[^%[%]]+ term requests%]%]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	else -- display no link at all&lt;br /&gt;
		-- [[Special:WhatLinksHere/Template:tracking/descendant/no term or annotations]]&lt;br /&gt;
		require &amp;quot;Module:debug&amp;quot;.track(&amp;quot;descendant/no term or annotations&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function add_tooltip(text, tooltip)&lt;br /&gt;
		return &amp;#039;&amp;lt;span title=&amp;quot;&amp;#039; .. tooltip .. &amp;#039;&amp;quot;&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local label, arrow, alts, calque, semantic_loan&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;sclb&amp;quot;] then&lt;br /&gt;
		if sc then&lt;br /&gt;
			label = sc:getCanonicalName()&lt;br /&gt;
		else&lt;br /&gt;
			label = require(&amp;quot;Module:scripts&amp;quot;).findBestScript(term, lang):getCanonicalName()&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		label = languageName&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;bor&amp;quot;] then&lt;br /&gt;
		arrow = add_tooltip(&amp;quot;→ &amp;quot;, &amp;quot;borrowed&amp;quot;)&lt;br /&gt;
	elseif args[&amp;quot;clq&amp;quot;] then&lt;br /&gt;
		arrow = add_tooltip(&amp;quot;→ &amp;quot;, &amp;quot;calque&amp;quot;)&lt;br /&gt;
	elseif args[&amp;quot;sl&amp;quot;] then&lt;br /&gt;
		arrow = add_tooltip(&amp;quot;→ &amp;quot;, &amp;quot;semantic loan&amp;quot;)&lt;br /&gt;
	elseif args[&amp;quot;der&amp;quot;] then&lt;br /&gt;
		arrow = add_tooltip(&amp;quot;⇒ &amp;quot;, &amp;quot;derived by addition of morphemes&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		arrow = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;alts&amp;quot;] then&lt;br /&gt;
		-- [[Special:WhatLinksHere/Template:tracking/desc/alts]]&lt;br /&gt;
		require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;desc/alts&amp;quot;)&lt;br /&gt;
		alts = require(&amp;quot;Module:descendants tree&amp;quot;).getAlternativeForms(entryLang, term)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;clq&amp;quot;] then&lt;br /&gt;
		calque = &amp;quot; &amp;quot; .. qualifier(&amp;quot;calque&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		calque = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args[&amp;quot;sl&amp;quot;] then&lt;br /&gt;
		semantic_loan = &amp;quot; &amp;quot; .. qualifier(&amp;quot;semantic loan&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		semantic_loan = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat{arrow, label, &amp;quot;: &amp;quot;, link, alts or &amp;quot;&amp;quot;, calque, semantic_loan}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.misc_variant(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
		[2] = {},&lt;br /&gt;
		[3] = {alias_of = &amp;quot;alt&amp;quot;},&lt;br /&gt;
		[4] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;alt&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = {alias_of = &amp;quot;t&amp;quot;},&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = {},&lt;br /&gt;
		&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;}, -- should be processed in the template itself&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocat&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
	local sc = fetch_script(args[&amp;quot;sc&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
	local parts = {}&lt;br /&gt;
	if not args[&amp;quot;notext&amp;quot;] then&lt;br /&gt;
		table.insert(parts, frame.args[&amp;quot;text&amp;quot;])&lt;br /&gt;
	end&lt;br /&gt;
	if args[2] or args[&amp;quot;alt&amp;quot;] then&lt;br /&gt;
		if not args[&amp;quot;notext&amp;quot;] then&lt;br /&gt;
			table.insert(parts, &amp;quot; &amp;quot;)&lt;br /&gt;
			table.insert(parts, frame.args[&amp;quot;oftext&amp;quot;] or &amp;quot;of&amp;quot;)&lt;br /&gt;
			table.insert(parts, &amp;quot; &amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(parts, require(&amp;quot;Module:links&amp;quot;).full_link(&lt;br /&gt;
			{&lt;br /&gt;
				lang = lang,&lt;br /&gt;
				sc = sc,&lt;br /&gt;
				term = args[2],&lt;br /&gt;
				alt = args[&amp;quot;alt&amp;quot;],&lt;br /&gt;
				id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
				tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
				ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
				genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
				gloss = args[&amp;quot;t&amp;quot;],&lt;br /&gt;
				pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
				lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;term&amp;quot;,&lt;br /&gt;
			true))&lt;br /&gt;
	end&lt;br /&gt;
	if not args[&amp;quot;nocat&amp;quot;] and frame.args[&amp;quot;cat&amp;quot;] then&lt;br /&gt;
		local categories = {}&lt;br /&gt;
		table.insert(categories, lang:getCanonicalName() .. &amp;quot; &amp;quot; .. frame.args[&amp;quot;cat&amp;quot;])&lt;br /&gt;
		table.insert(parts, require(&amp;quot;Module:utilities&amp;quot;).format_categories(categories, lang, args[&amp;quot;sort&amp;quot;]))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(parts)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementation of miscellaneous templates such as {{unknown}} that have no&lt;br /&gt;
-- associated terms.&lt;br /&gt;
function export.misc_variant_no_term(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;und&amp;quot;},&lt;br /&gt;
&lt;br /&gt;
		[&amp;quot;title&amp;quot;] = {},&lt;br /&gt;
		[&amp;quot;nocap&amp;quot;] = {type = &amp;quot;boolean&amp;quot;}, -- should be processed in the template itself&lt;br /&gt;
		[&amp;quot;notext&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;nocat&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
		[&amp;quot;sort&amp;quot;] = {},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	if frame.args[&amp;quot;title2_alias&amp;quot;] then&lt;br /&gt;
		params[2] = {alias_of = &amp;quot;title&amp;quot;}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local args = require(&amp;quot;Module:parameters&amp;quot;).process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = fetch_lang(args[1], 1)&lt;br /&gt;
&lt;br /&gt;
	local parts = {}&lt;br /&gt;
	if not args[&amp;quot;notext&amp;quot;] then&lt;br /&gt;
		table.insert(parts, args[&amp;quot;title&amp;quot;] or frame.args[&amp;quot;text&amp;quot;])&lt;br /&gt;
	end&lt;br /&gt;
	if not args[&amp;quot;nocat&amp;quot;] and frame.args[&amp;quot;cat&amp;quot;] then&lt;br /&gt;
		local categories = {}&lt;br /&gt;
		table.insert(categories, lang:getCanonicalName() .. &amp;quot; &amp;quot; .. frame.args[&amp;quot;cat&amp;quot;])&lt;br /&gt;
		table.insert(parts, require(&amp;quot;Module:utilities&amp;quot;).format_categories(categories, lang, args[&amp;quot;sort&amp;quot;]))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(parts)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>bob&gt;Juelos</name></author>
	</entry>
</feed>