<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AKhar-translit</id>
	<title>Module:Khar-translit - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3AKhar-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:Khar-translit&amp;action=history"/>
	<updated>2026-05-13T23:42:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:Khar-translit&amp;diff=495203&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:Khar-translit&amp;diff=495203&amp;oldid=prev"/>
		<updated>2026-04-21T12:00:34Z</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;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:00, 21 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&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;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:Khar-translit&amp;diff=495202&amp;oldid=prev</id>
		<title>wikt&gt;SurjectionBot: Protected &quot;Module:Khar-translit&quot;: (bot) automatically protect highly visible templates/modules (reference score: 1165+ &gt;= 1000) ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:Khar-translit&amp;diff=495202&amp;oldid=prev"/>
		<updated>2024-04-27T09:03:26Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/wiki/Module:Khar-translit&quot; title=&quot;Module:Khar-translit&quot;&gt;Module:Khar-translit&lt;/a&gt;&amp;quot;: (bot) automatically protect highly visible templates/modules (reference score: 1165+ &amp;gt;= 1000) ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&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;
local u = require(&amp;quot;Module:string/char&amp;quot;)&lt;br /&gt;
local gsub = mw.ustring.gsub&lt;br /&gt;
&lt;br /&gt;
local consonants = {&lt;br /&gt;
--defer transliteration of null consonant.&lt;br /&gt;
	[&amp;#039;𐨀&amp;#039;] = &amp;#039;𐨀&amp;#039;,&lt;br /&gt;
--consonants&lt;br /&gt;
	[&amp;#039;𐨐&amp;#039;]=&amp;#039;k&amp;#039;, [&amp;#039;𐨑&amp;#039;]=&amp;#039;kh&amp;#039;, [&amp;#039;𐨒&amp;#039;]=&amp;#039;g&amp;#039;, [&amp;#039;𐨓&amp;#039;]=&amp;#039;gh&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨕&amp;#039;]=&amp;#039;c&amp;#039;, [&amp;#039;𐨖&amp;#039;]=&amp;#039;ch&amp;#039;, [&amp;#039;𐨗&amp;#039;]=&amp;#039;j&amp;#039;, [&amp;#039;𐨙&amp;#039;]=&amp;#039;ñ&amp;#039;, &lt;br /&gt;
	[&amp;#039;𐨚&amp;#039;]=&amp;#039;ṭ&amp;#039;, [&amp;#039;𐨛&amp;#039;]=&amp;#039;ṭh&amp;#039;, [&amp;#039;𐨜&amp;#039;]=&amp;#039;ḍ&amp;#039;, [&amp;#039;𐨝&amp;#039;]=&amp;#039;ḍh&amp;#039;, [&amp;#039;𐨞&amp;#039;]=&amp;#039;ṇ&amp;#039;, &lt;br /&gt;
	[&amp;#039;𐨟&amp;#039;]=&amp;#039;t&amp;#039;, [&amp;#039;𐨠&amp;#039;]=&amp;#039;th&amp;#039;, [&amp;#039;𐨡&amp;#039;]=&amp;#039;d&amp;#039;, [&amp;#039;𐨢&amp;#039;]=&amp;#039;dh&amp;#039;, [&amp;#039;𐨣&amp;#039;]=&amp;#039;n&amp;#039;, &lt;br /&gt;
	[&amp;#039;𐨤&amp;#039;]=&amp;#039;p&amp;#039;, [&amp;#039;𐨥&amp;#039;]=&amp;#039;ph&amp;#039;, [&amp;#039;𐨦&amp;#039;]=&amp;#039;b&amp;#039;, [&amp;#039;𐨧&amp;#039;]=&amp;#039;bh&amp;#039;, [&amp;#039;𐨨&amp;#039;]=&amp;#039;m&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨩&amp;#039;]=&amp;#039;y&amp;#039;, [&amp;#039;𐨪&amp;#039;]=&amp;#039;r&amp;#039;,  [&amp;#039;𐨫&amp;#039;]=&amp;#039;l&amp;#039;, [&amp;#039;𐨬&amp;#039;]=&amp;#039;v&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨭&amp;#039;]=&amp;#039;ś&amp;#039;, [&amp;#039;𐨮&amp;#039;]=&amp;#039;ṣ&amp;#039;,  [&amp;#039;𐨯&amp;#039;]=&amp;#039;s&amp;#039;, [&amp;#039;𐨰&amp;#039;]=&amp;#039;z&amp;#039;, [&amp;#039;𐨱&amp;#039;]=&amp;#039;h&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨲&amp;#039;]=&amp;#039;ḱ&amp;#039;, [&amp;#039;𐨳&amp;#039;]=&amp;#039;ṭ́h&amp;#039;, [&amp;#039;𐨴&amp;#039;]=&amp;#039;ṭ́&amp;#039;, [&amp;#039;𐨵&amp;#039;]=&amp;#039;vh&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local diacritics = {&lt;br /&gt;
--matras&lt;br /&gt;
	[&amp;#039;𐨁&amp;#039;]=&amp;#039;i&amp;#039;, [&amp;#039;𐨂&amp;#039;]=&amp;#039;u&amp;#039;, [&amp;#039;𐨃&amp;#039;]=&amp;#039;ṛ&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨅&amp;#039;]=&amp;#039;e&amp;#039;, [&amp;#039;𐨆&amp;#039;]=&amp;#039;o&amp;#039;, [&amp;#039;𐨌&amp;#039;]=&amp;#039;ā&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨁𐨌&amp;#039;]=&amp;#039;ī&amp;#039;, [&amp;#039;𐨂𐨌&amp;#039;]=&amp;#039;ū&amp;#039;, [&amp;#039;𐨃𐨌&amp;#039;]=&amp;#039;ṝ&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨅𐨌&amp;#039;]=&amp;#039;ai&amp;#039;, [&amp;#039;𐨆𐨌&amp;#039;]=&amp;#039;au&amp;#039;, [&amp;#039;𐨿&amp;#039;]=&amp;#039;&amp;#039;, [&amp;#039;‍𐨿&amp;#039;]=&amp;#039;Ⓙ&amp;#039;,&lt;br /&gt;
	[&amp;#039;𐨍&amp;#039;] = &amp;#039;a͚&amp;#039;, [&amp;#039;𐨂𐨍&amp;#039;] = &amp;#039;u͚&amp;#039;, [&amp;#039;𐨹&amp;#039;]=&amp;#039;◌́&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local tt = {&lt;br /&gt;
&lt;br /&gt;
	--vowels&lt;br /&gt;
	[&amp;#039;𐨀&amp;#039;] = &amp;#039;&amp;#039;,&lt;br /&gt;
	-- anusvara    &lt;br /&gt;
	[&amp;#039;𐨎&amp;#039;]=&amp;#039;ṃ&amp;#039;, --until a better method is found&lt;br /&gt;
	-- visarga    &lt;br /&gt;
	[&amp;#039;𐨏&amp;#039;]=&amp;#039;ḥ&amp;#039;,&lt;br /&gt;
	--numerals&lt;br /&gt;
	[&amp;#039;𐩀&amp;#039;]=&amp;#039;1&amp;#039;, [&amp;#039;𐩁&amp;#039;]=&amp;#039;2&amp;#039;, [&amp;#039;𐩂&amp;#039;]=&amp;#039;3&amp;#039;, [&amp;#039;𐩃&amp;#039;]=&amp;#039;4&amp;#039;,&lt;br /&gt;
[&amp;#039;𐩄&amp;#039;]=&amp;#039;10&amp;#039;, [&amp;#039;𐩅&amp;#039;]=&amp;#039;20&amp;#039;, [&amp;#039;𐩆&amp;#039;]=&amp;#039;100&amp;#039;, [&amp;#039;𐩇&amp;#039;]=&amp;#039;1000&amp;#039;, &lt;br /&gt;
	--punctuation        &lt;br /&gt;
	[&amp;#039;𐩖&amp;#039;]=&amp;#039;.&amp;#039;, --danda&lt;br /&gt;
    [&amp;#039;𐩗&amp;#039;]=&amp;#039;.&amp;#039;, --double danda&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
	local failed = nil&lt;br /&gt;
	if sc ~= &amp;quot;Khar&amp;quot; then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
-- Consonants appear as part of sequences canonically equivalent to consonant+nukta+vowel, so&lt;br /&gt;
-- allowing for multiplicity and the string being normalised (by Wikimedia policy), the matching&lt;br /&gt;
-- RE is:&lt;br /&gt;
	local form = &amp;#039;([𐨀𐨐-𐨵])(𐨹?)(‍?𐨿?)(𐨺?)(𐨍?)(𐨸?)([𐨁-𐨆]?[𐨁-𐨆]?𐨌?𐨍?)&amp;#039;&lt;br /&gt;
	text = gsub(text, form, function(c, n1, h, n2, vi, n3, vm)&lt;br /&gt;
		local d = h..vi..vm -- Expect at most one catenand to be non-empty.&lt;br /&gt;
		local cdia = &amp;#039;&amp;#039;&lt;br /&gt;
		local cons = consonants[c]&lt;br /&gt;
		local retval&lt;br /&gt;
		if n1 ~= &amp;#039;&amp;#039; then -- Cauda&lt;br /&gt;
			if cons == &amp;#039;s&amp;#039; or cons == &amp;#039;ś&amp;#039; then&lt;br /&gt;
				cdia = cdia .. u(0x0331) -- Combining macron below&lt;br /&gt;
			else&lt;br /&gt;
				cdia = cdia .. u(0x0301) -- Combining acute&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if n2 ~= &amp;#039;&amp;#039; then cdia = cdia .. u(0x0323) end -- Combining dot below&lt;br /&gt;
		if n3 ~= &amp;#039;&amp;#039; then cdia = cdia .. u(0x0304) end -- Combining macron&lt;br /&gt;
		if d == &amp;quot;&amp;quot; then&lt;br /&gt;
			retval = cons .. cdia .. &amp;#039;a&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			local dia = diacritics[d]&lt;br /&gt;
			if not dia then&lt;br /&gt;
				mw.addWarning(&amp;#039;Failed to transliterate 𐨀&amp;#039; .. d .. &amp;#039; in &amp;#039; .. text)&lt;br /&gt;
				failed = true&lt;br /&gt;
				dia = &amp;#039;D&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			retval = cons .. cdia .. dia&lt;br /&gt;
		end&lt;br /&gt;
		return mw.ustring.toNFD(retval)&lt;br /&gt;
	end)&lt;br /&gt;
&lt;br /&gt;
	text = gsub(text, &amp;quot;(a)𐨀([iu])&amp;quot;, &amp;quot;%1%2&amp;quot;..u(0x308)) -- Apply diaeresis&lt;br /&gt;
	text = gsub(text, &amp;#039;.&amp;#039;, tt)&lt;br /&gt;
	text = gsub(text, &amp;#039;lⒿy&amp;#039;, &amp;#039;lý&amp;#039;)&lt;br /&gt;
	text = gsub(text, &amp;#039;Ⓙ&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	text = gsub(text, u(0x301, 0x304), u(0x304, 0x301))&lt;br /&gt;
	&lt;br /&gt;
	if failed then return nil end&lt;br /&gt;
	return mw.ustring.toNFC(text)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>wikt&gt;SurjectionBot</name></author>
	</entry>
</feed>