<?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%3Asa-utilities%2Ftranslit%2FIAST-to-SLP1</id>
	<title>Module:sa-utilities/translit/IAST-to-SLP1 - 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%3Asa-utilities%2Ftranslit%2FIAST-to-SLP1"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:sa-utilities/translit/IAST-to-SLP1&amp;action=history"/>
	<updated>2026-05-26T19:17:51Z</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:sa-utilities/translit/IAST-to-SLP1&amp;diff=495767&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:sa-utilities/translit/IAST-to-SLP1&amp;diff=495767&amp;oldid=prev"/>
		<updated>2026-04-21T12:44: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;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:44, 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:sa-utilities/translit/IAST-to-SLP1&amp;diff=495766&amp;oldid=prev</id>
		<title>wikt&gt;Exarchus at 18:46, 29 March 2026</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:sa-utilities/translit/IAST-to-SLP1&amp;diff=495766&amp;oldid=prev"/>
		<updated>2026-03-29T18:46:31Z</updated>

		<summary type="html">&lt;p&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 gsub = string.gsub&lt;br /&gt;
local toNFC = mw.ustring.toNFC&lt;br /&gt;
local U = require(&amp;quot;Module:string/char&amp;quot;)&lt;br /&gt;
local ugsub = mw.ustring.gsub&lt;br /&gt;
local ulower = mw.ustring.lower&lt;br /&gt;
&lt;br /&gt;
local acute = U(0x301) -- combining acute&lt;br /&gt;
local grave = U(0x300) -- combining grave&lt;br /&gt;
&lt;br /&gt;
local composed_accents = {&lt;br /&gt;
	[&amp;#039;á&amp;#039;] = &amp;#039;a/&amp;#039;, [&amp;#039;à&amp;#039;] = &amp;#039;a\\&amp;#039;,&lt;br /&gt;
	[&amp;#039;í&amp;#039;] = &amp;#039;i/&amp;#039;, [&amp;#039;ì&amp;#039;] = &amp;#039;i\\&amp;#039;,&lt;br /&gt;
	[&amp;#039;ú&amp;#039;] = &amp;#039;u/&amp;#039;, [&amp;#039;ù&amp;#039;] = &amp;#039;u\\&amp;#039;,&lt;br /&gt;
	[&amp;#039;é&amp;#039;] = &amp;#039;e/&amp;#039;, [&amp;#039;è&amp;#039;] = &amp;#039;e\\&amp;#039;,&lt;br /&gt;
	[&amp;#039;ó&amp;#039;] = &amp;#039;o/&amp;#039;, [&amp;#039;ò&amp;#039;] = &amp;#039;o\\&amp;#039;,&lt;br /&gt;
	[acute] = &amp;#039;/&amp;#039;, [grave] = &amp;#039;\\&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local normalize_accents = {&lt;br /&gt;
	[&amp;#039;á&amp;#039;] = &amp;#039;/&amp;#039;, [&amp;#039;à&amp;#039;] = &amp;#039;\\&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function change_accent(text)&lt;br /&gt;
	-- normalize accent placement&lt;br /&gt;
	text = ugsub(text, &amp;#039;([áà])([iu])&amp;#039;, function(a, iu) return &amp;quot;a&amp;quot; .. iu .. normalize_accents[a] end)&lt;br /&gt;
	text = ugsub(text, &amp;#039;.&amp;#039;, composed_accents)&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function detect_lateral_flap(text)&lt;br /&gt;
	-- convert jihvamuliya first&lt;br /&gt;
	text =  gsub(text, &amp;quot;x&amp;quot;, &amp;quot;Z&amp;quot;)&lt;br /&gt;
	-- an &amp;quot;ḷ&amp;quot; initially before a non-vowel or between two non-vowels vowel is assumed to be &amp;quot;x&amp;quot;&lt;br /&gt;
	text =  ugsub(text, &amp;quot;%f[aāiīuūeoṛṝḷḹ/\\]ḷ%f[^aāiīuūeoṛṝḷḹ]&amp;quot;, &amp;quot;x&amp;quot;)&lt;br /&gt;
	-- all others are assumed to be &amp;quot;L&amp;quot;&lt;br /&gt;
	text =  gsub(text, &amp;quot;ḷ&amp;quot;, &amp;quot;L&amp;quot;)&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local tt = {&lt;br /&gt;
	[1] = {&lt;br /&gt;
		--consonants&lt;br /&gt;
		[&amp;quot;kh&amp;quot;] = &amp;quot;K&amp;quot;, [&amp;quot;gh&amp;quot;] = &amp;quot;G&amp;quot;,&lt;br /&gt;
		[&amp;quot;ch&amp;quot;] = &amp;quot;C&amp;quot;, [&amp;quot;jh&amp;quot;] = &amp;quot;J&amp;quot;,&lt;br /&gt;
		[&amp;quot;ṭh&amp;quot;] = &amp;quot;W&amp;quot;, [&amp;quot;ḍh&amp;quot;] = &amp;quot;Q&amp;quot;,&lt;br /&gt;
		[&amp;quot;th&amp;quot;] = &amp;quot;T&amp;quot;, [&amp;quot;dh&amp;quot;] = &amp;quot;D&amp;quot;,&lt;br /&gt;
		[&amp;quot;ph&amp;quot;] = &amp;quot;P&amp;quot;, [&amp;quot;bh&amp;quot;] = &amp;quot;B&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	[2] = {&lt;br /&gt;
		-- vowels&lt;br /&gt;
		[&amp;quot;ai&amp;quot;] = &amp;quot;E&amp;quot;,&lt;br /&gt;
		[&amp;quot;au&amp;quot;] = &amp;quot;O&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
	[3] = {&lt;br /&gt;
		-- chandrabindu&lt;br /&gt;
		[&amp;#039;m̐&amp;#039;] = &amp;#039;~&amp;#039;&lt;br /&gt;
	},&lt;br /&gt;
	[4] = {&lt;br /&gt;
		&lt;br /&gt;
		--consonants&lt;br /&gt;
		[&amp;quot;ṅ&amp;quot;] = &amp;quot;N&amp;quot;,&lt;br /&gt;
		[&amp;quot;ñ&amp;quot;] = &amp;quot;Y&amp;quot;,&lt;br /&gt;
		[&amp;quot;ṭ&amp;quot;] = &amp;quot;w&amp;quot;, [&amp;quot;ḍ&amp;quot;] = &amp;quot;q&amp;quot;, [&amp;quot;ṇ&amp;quot;] = &amp;quot;R&amp;quot;,&lt;br /&gt;
		[&amp;quot;ś&amp;quot;] = &amp;quot;S&amp;quot;, [&amp;quot;ṣ&amp;quot;] = &amp;quot;z&amp;quot;, [&amp;quot;ḻ&amp;quot;] = &amp;quot;L&amp;quot;,		-- [&amp;quot;ḷ&amp;quot;] = &amp;quot;L&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		--vowels&lt;br /&gt;
		[&amp;quot;ā&amp;quot;] = &amp;quot;A&amp;quot;,&lt;br /&gt;
		[&amp;quot;ī&amp;quot;] = &amp;quot;I&amp;quot;,&lt;br /&gt;
		[&amp;quot;ū&amp;quot;] = &amp;quot;U&amp;quot;,&lt;br /&gt;
		[&amp;quot;ï&amp;quot;] = &amp;quot;i&amp;quot;,&lt;br /&gt;
		[&amp;quot;ü&amp;quot;] = &amp;quot;u&amp;quot;,&lt;br /&gt;
		[&amp;quot;ṛ&amp;quot;] = &amp;quot;f&amp;quot;,&lt;br /&gt;
		[&amp;quot;ṝ&amp;quot;] = &amp;quot;F&amp;quot;,&lt;br /&gt;
		-- [&amp;quot;ḷ&amp;quot;] = &amp;quot;x&amp;quot;,&lt;br /&gt;
		[&amp;quot;ḹ&amp;quot;] = &amp;quot;X&amp;quot;, -- [&amp;quot;l̤&amp;quot;] = &amp;quot;X&amp;quot;, FIXME: l̤ is two chars.&lt;br /&gt;
		&lt;br /&gt;
		-- avagraha&lt;br /&gt;
		[&amp;quot;ʼ&amp;quot;] = &amp;quot;&amp;#039;&amp;quot;, [&amp;quot;’&amp;quot;] = &amp;quot;&amp;#039;&amp;quot;,&lt;br /&gt;
		&lt;br /&gt;
		--other&lt;br /&gt;
		[&amp;quot;ṃ&amp;quot;] = &amp;quot;M&amp;quot;, [&amp;quot;ṁ&amp;quot;] = &amp;quot;M&amp;quot;,&lt;br /&gt;
		[&amp;quot;ḥ&amp;quot;] = &amp;quot;H&amp;quot;,&lt;br /&gt;
		[&amp;quot;ẖ&amp;quot;] = &amp;quot;Z&amp;quot;,								--	[&amp;quot;x&amp;quot;] = &amp;quot;Z&amp;quot;&lt;br /&gt;
		[&amp;quot;f&amp;quot;] = &amp;quot;V&amp;quot;, [&amp;quot;ḫ&amp;quot;] = &amp;quot;V&amp;quot;,&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
	-- TODO: normalise IAST variants first, and propagate it to displayed transliteration as well.&lt;br /&gt;
--	text = toNFC(ulower(text)) -- FIXME: lowercasing breaks conjugation tables, for some reason.&lt;br /&gt;
	text = toNFC(text)&lt;br /&gt;
	text = change_accent(text)&lt;br /&gt;
	text = detect_lateral_flap(text)&lt;br /&gt;
	text = ugsub(text, &amp;#039;[kgcjṭḍtdpb]h&amp;#039;, tt[1])&lt;br /&gt;
	text = gsub(text, &amp;#039;a[iu]&amp;#039;, tt[2])&lt;br /&gt;
	text = gsub(text, &amp;#039;m̐&amp;#039;, tt[3])&lt;br /&gt;
	text = ugsub(text, &amp;#039;.&amp;#039;, tt[4])&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>wikt&gt;Exarchus</name></author>
	</entry>
</feed>