<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://naija.elizia.net/index.php?action=history&amp;feed=atom&amp;title=Template%3AUsex</id>
	<title>Template:Usex - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://naija.elizia.net/index.php?action=history&amp;feed=atom&amp;title=Template%3AUsex"/>
	<link rel="alternate" type="text/html" href="http://naija.elizia.net/index.php?title=Template:Usex&amp;action=history"/>
	<updated>2026-10-19T04:12:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0-rc.0</generator>
	<entry>
		<id>http://naija.elizia.net/index.php?title=Template:Usex&amp;diff=301&amp;oldid=prev</id>
		<title>Root: Created page with &quot;local export = {}  local translit_data = mw.loadData(&quot;Module:translations/data&quot;) local needs_translit = translit_data[2]  -- microformat2 classes, see https://phabricator.wiki...&quot;</title>
		<link rel="alternate" type="text/html" href="http://naija.elizia.net/index.php?title=Template:Usex&amp;diff=301&amp;oldid=prev"/>
		<updated>2020-08-07T14:28:46Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {}  local translit_data = mw.loadData(&amp;quot;Module:translations/data&amp;quot;) local needs_translit = translit_data[2]  -- microformat2 classes, see https://phabricator.wiki...&amp;quot;&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 translit_data = mw.loadData(&amp;quot;Module:translations/data&amp;quot;)&lt;br /&gt;
local needs_translit = translit_data[2]&lt;br /&gt;
&lt;br /&gt;
-- microformat2 classes, see https://phabricator.wikimedia.org/T138709&lt;br /&gt;
local class = {&lt;br /&gt;
	container_ux = &amp;#039;h-usage-example&amp;#039;,&lt;br /&gt;
	container_quotation = &amp;#039;h-quotation&amp;#039;,&lt;br /&gt;
	example = &amp;#039;e-example&amp;#039;,&lt;br /&gt;
	quotation = &amp;#039;e-quotation&amp;#039;,&lt;br /&gt;
	quotation_with_citation = &amp;#039;e-quotation cited-passage&amp;#039;,&lt;br /&gt;
	translation = &amp;#039;e-translation&amp;#039;,&lt;br /&gt;
	-- The following is added by [[Module:script utilities]], using [[Module:script utilities/data]]&lt;br /&gt;
--	transliteration = &amp;#039;e-transliteration&amp;#039;,	&lt;br /&gt;
	literally = &amp;#039;e-literally&amp;#039;,&lt;br /&gt;
	source = &amp;#039;e-source&amp;#039;,&lt;br /&gt;
	footer = &amp;#039;e-footer&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- helper functions&lt;br /&gt;
&lt;br /&gt;
local function wrap(tag, class, text, lang)&lt;br /&gt;
	if lang then&lt;br /&gt;
		lang = &amp;#039; lang=&amp;quot;&amp;#039; .. lang .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		lang = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if text and class then&lt;br /&gt;
		return table.concat{&amp;#039;&amp;lt;&amp;#039;, tag, &amp;#039; class=&amp;quot;&amp;#039;, class, &amp;#039;&amp;quot;&amp;#039;, lang, &amp;#039;&amp;gt;&amp;#039;, text, &amp;#039;&amp;lt;/&amp;#039;, tag, &amp;#039;&amp;gt;&amp;#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function span(class, text) return wrap(&amp;#039;span&amp;#039;, class, text) end&lt;br /&gt;
local function div(class, text) return wrap(&amp;#039;div&amp;#039;, class, text) end&lt;br /&gt;
&lt;br /&gt;
function export.format_usex(lang, sc, usex, translation, transliteration,&lt;br /&gt;
	noenum, inline, ref, quote, lit, substs, qualifier, source, nocat, brackets,&lt;br /&gt;
	footer, sortkey)&lt;br /&gt;
	local namespace = mw.title.getCurrentTitle().nsText&lt;br /&gt;
	&lt;br /&gt;
	--[[&lt;br /&gt;
	if lang:getType() == &amp;quot;reconstructed&amp;quot; or namespace == &amp;quot;Reconstruction&amp;quot; then&lt;br /&gt;
		error(&amp;quot;Reconstructed languages and reconstructed terms cannot have usage examples, as we have no record of their use.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	]]&lt;br /&gt;
	&lt;br /&gt;
	if lit then&lt;br /&gt;
		lit = &amp;quot;(literally, “&amp;quot; .. span(class.literally, lit) .. &amp;quot;”)&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if source then&lt;br /&gt;
		source = &amp;quot;(&amp;quot; .. span(class.source, source) .. &amp;quot;)&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if footer then&lt;br /&gt;
		footer = span(class.footer, footer)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local example_type = quote and &amp;quot;quote&amp;quot; or &amp;quot;usage example&amp;quot; -- used in error messages&lt;br /&gt;
	local categories = {}&lt;br /&gt;
&lt;br /&gt;
	if not sc then&lt;br /&gt;
		sc = require(&amp;quot;Module:scripts&amp;quot;).findBestScript(usex, lang)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- tr=- means omit transliteration altogether&lt;br /&gt;
	if transliteration == &amp;quot;-&amp;quot; then&lt;br /&gt;
		transliteration = nil&lt;br /&gt;
	else&lt;br /&gt;
		-- Try to auto-transliterate&lt;br /&gt;
		if not transliteration and usex then&lt;br /&gt;
			local subbed_usex = require(&amp;quot;Module:links&amp;quot;).remove_links(usex)&lt;br /&gt;
&lt;br /&gt;
			if substs then&lt;br /&gt;
				--[=[&lt;br /&gt;
				[[Special:WhatLinksHere/Template:tracking/quote/substs]]&lt;br /&gt;
				[[Special:WhatLinksHere/Template:tracking/usex/substs]]&lt;br /&gt;
				]=]&lt;br /&gt;
				&lt;br /&gt;
				if quote then&lt;br /&gt;
					require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;quote/substs&amp;quot;)&lt;br /&gt;
				else&lt;br /&gt;
					require(&amp;quot;Module:debug&amp;quot;).track(&amp;quot;usex/substs&amp;quot;)&lt;br /&gt;
				end&lt;br /&gt;
				&lt;br /&gt;
				local substs = mw.text.split(substs, &amp;quot;,&amp;quot;)&lt;br /&gt;
				for _, subpair in ipairs(substs) do&lt;br /&gt;
					local subsplit = mw.text.split(subpair, mw.ustring.find(subpair, &amp;quot;//&amp;quot;) and &amp;quot;//&amp;quot; or &amp;quot;/&amp;quot;)&lt;br /&gt;
					subbed_usex = mw.ustring.gsub(subbed_usex, subsplit[1], subsplit[2])&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			transliteration = lang:transliterate(subbed_usex, sc)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- If there is still no transliteration, then add a cleanup category&lt;br /&gt;
		if not transliteration and needs_translit[lang] then&lt;br /&gt;
			table.insert(categories, &amp;quot;Requests for transliteration of &amp;quot; .. lang:getCanonicalName() .. &amp;quot; terms&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if transliteration then&lt;br /&gt;
		transliteration = require(&amp;quot;Module:script utilities&amp;quot;).tag_translit(transliteration, lang:getCode(), &amp;quot;usex&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if translation == &amp;quot;-&amp;quot; then&lt;br /&gt;
		translation = nil&lt;br /&gt;
		table.insert(categories, &amp;quot;Omitted translation in the main namespace&amp;quot;)&lt;br /&gt;
	elseif translation then&lt;br /&gt;
		translation = span(class.translation, translation)&lt;br /&gt;
	elseif lang:getCode() ~= &amp;quot;en&amp;quot; and lang:getCode() ~= &amp;quot;und&amp;quot; then&lt;br /&gt;
		-- add trreq category if translation is unspecified and language is not english or undetermined&lt;br /&gt;
		table.insert(categories, &amp;quot;Requests for translations of &amp;quot; .. lang:getCanonicalName() .. &amp;quot; usage examples&amp;quot;)&lt;br /&gt;
		translation = &amp;quot;&amp;lt;small&amp;gt;(please add an English translation of this &amp;quot; .. example_type .. &amp;quot;)&amp;lt;/small&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if usex then&lt;br /&gt;
		if usex:find(&amp;quot;[[&amp;quot;, 1, true) then&lt;br /&gt;
			usex = require(&amp;quot;Module:links&amp;quot;).language_link({term = usex, lang = lang}, false)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local face&lt;br /&gt;
		if quote then&lt;br /&gt;
			face = nil&lt;br /&gt;
		else&lt;br /&gt;
			face = &amp;quot;term&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not nocat and namespace == &amp;quot;&amp;quot; or namespace == &amp;quot;Reconstruction&amp;quot; then&lt;br /&gt;
			if quote then&lt;br /&gt;
				table.insert(categories, lang:getCanonicalName() .. &amp;quot; terms with quotations&amp;quot;)&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(categories, lang:getCanonicalName() .. &amp;quot; terms with usage examples&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		usex = require(&amp;quot;Module:script utilities&amp;quot;).tag_text(usex, lang, sc, face,&lt;br /&gt;
			quote == &amp;quot;quote-meta&amp;quot; and class.quotation_with_citation or&lt;br /&gt;
			quote and class.quotation or class.example)&lt;br /&gt;
	else&lt;br /&gt;
		if transliteration then&lt;br /&gt;
			table.insert(categories, &amp;quot;Requests for native script in &amp;quot; .. lang:getCanonicalName() .. &amp;quot; usage examples&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- TODO: Trigger some kind of error here&lt;br /&gt;
		usex = &amp;quot;&amp;lt;small&amp;gt;(please add the primary text of this &amp;quot; .. example_type .. &amp;quot;)&amp;lt;/small&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result = {}&lt;br /&gt;
	&lt;br /&gt;
	if sc:getDirection() == &amp;quot;rtl&amp;quot; then&lt;br /&gt;
		usex = &amp;quot;&amp;amp;rlm;&amp;quot; .. usex .. &amp;quot;&amp;amp;lrm;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.insert(result, usex)&lt;br /&gt;
	&lt;br /&gt;
	if #qualifier &amp;gt; 0 then&lt;br /&gt;
		table.insert(result, &amp;quot; &amp;quot; .. require(&amp;quot;Module:qualifier&amp;quot;).format_qualifier(qualifier))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.insert(result, ref)&lt;br /&gt;
	&lt;br /&gt;
	if inline then&lt;br /&gt;
		if transliteration then&lt;br /&gt;
			table.insert(result, &amp;quot; ― &amp;quot; .. transliteration)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if translation then&lt;br /&gt;
			table.insert(result, &amp;quot; ― &amp;quot; .. translation)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if lit then&lt;br /&gt;
			table.insert(result, &amp;quot; &amp;quot; .. lit)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if source then&lt;br /&gt;
			table.insert(result, &amp;quot; &amp;quot; .. source)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if footer then&lt;br /&gt;
			table.insert(result, &amp;quot; &amp;quot; .. footer)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if brackets then&lt;br /&gt;
			table.insert(result, &amp;quot;]&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	elseif transliteration or translation or lit or source or footer then&lt;br /&gt;
		table.insert(result, &amp;quot;&amp;lt;dl&amp;gt;&amp;quot;)&lt;br /&gt;
		local closing_tag = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		if transliteration then&lt;br /&gt;
			table.insert(result, closing_tag)&lt;br /&gt;
			table.insert(result, &amp;quot;&amp;lt;dd&amp;gt;&amp;quot; .. transliteration)&lt;br /&gt;
			closing_tag = &amp;quot;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if translation then&lt;br /&gt;
			table.insert(result, closing_tag)&lt;br /&gt;
			table.insert(result, &amp;quot;&amp;lt;dd&amp;gt;&amp;quot; .. translation)&lt;br /&gt;
			closing_tag = &amp;quot;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if lit then&lt;br /&gt;
			table.insert(result, closing_tag)&lt;br /&gt;
			table.insert(result, &amp;quot;&amp;lt;dd&amp;gt;&amp;quot; .. lit)&lt;br /&gt;
			closing_tag = &amp;quot;&amp;lt;/dd&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if source then&lt;br /&gt;
			table.insert(result, closing_tag)&lt;br /&gt;
			table.insert(result, &amp;quot;&amp;lt;dl&amp;gt;&amp;lt;dd&amp;gt;&amp;quot; .. source)&lt;br /&gt;
			closing_tag = &amp;quot;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if footer then&lt;br /&gt;
			table.insert(result, closing_tag)&lt;br /&gt;
			table.insert(result, &amp;quot;&amp;lt;dl&amp;gt;&amp;lt;dd&amp;gt;&amp;quot; .. footer)&lt;br /&gt;
			closing_tag = &amp;quot;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if brackets then&lt;br /&gt;
			table.insert(result, &amp;quot;]&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert(result, closing_tag)&lt;br /&gt;
&lt;br /&gt;
		table.insert(result, &amp;quot;&amp;lt;/dl&amp;gt;&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		if brackets then&lt;br /&gt;
			table.insert(result, &amp;quot;]&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	result = table.concat(result)&lt;br /&gt;
	result = div(quote and class.container_quotation or class.container_ux, result)&lt;br /&gt;
	result = result .. require(&amp;quot;Module:utilities&amp;quot;).format_categories(categories, lang, sortkey)&lt;br /&gt;
	if noenum then&lt;br /&gt;
		result = &amp;quot;\n: &amp;quot; .. result&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Root</name></author>
	</entry>
</feed>