<?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%3Atg-Latn-Cyrl-translit</id>
	<title>Module:tg-Latn-Cyrl-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%3Atg-Latn-Cyrl-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:tg-Latn-Cyrl-translit&amp;action=history"/>
	<updated>2026-05-18T17:39:03Z</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:tg-Latn-Cyrl-translit&amp;diff=496361&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:tg-Latn-Cyrl-translit&amp;diff=496361&amp;oldid=prev"/>
		<updated>2026-04-21T12:46:21Z</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:46, 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:tg-Latn-Cyrl-translit&amp;diff=496360&amp;oldid=prev</id>
		<title>wikt&gt;Babr at 06:57, 2 April 2026</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:tg-Latn-Cyrl-translit&amp;diff=496360&amp;oldid=prev"/>
		<updated>2026-04-02T06:57:57Z</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 = {text}&lt;br /&gt;
&lt;br /&gt;
local tt = {&lt;br /&gt;
	[&amp;quot;t&amp;quot;] = &amp;quot;т&amp;quot;,&lt;br /&gt;
	[&amp;quot;r&amp;quot;] = &amp;quot;р&amp;quot;,&lt;br /&gt;
	[&amp;quot;f&amp;quot;] = &amp;quot;ф&amp;quot;,&lt;br /&gt;
	[&amp;quot;š&amp;quot;] = &amp;quot;ш&amp;quot;,&lt;br /&gt;
	[&amp;quot;h&amp;quot;] = &amp;quot;ҳ&amp;quot;,&lt;br /&gt;
	[&amp;quot;\&amp;#039;&amp;quot;] = &amp;quot;ъ&amp;quot;,&lt;br /&gt;
	[&amp;quot;n&amp;quot;] = &amp;quot;н&amp;quot;,&lt;br /&gt;
	[&amp;quot;p&amp;quot;] = &amp;quot;п&amp;quot;,&lt;br /&gt;
	[&amp;quot;y&amp;quot;] = &amp;quot;й&amp;quot;,&lt;br /&gt;
	[&amp;quot;l&amp;quot;] = &amp;quot;л&amp;quot;,&lt;br /&gt;
	[&amp;quot;z&amp;quot;] = &amp;quot;з&amp;quot;,&lt;br /&gt;
	[&amp;quot;e&amp;quot;] = &amp;quot;е&amp;quot;,&lt;br /&gt;
	[&amp;quot;g&amp;quot;] = &amp;quot;г&amp;quot;,&lt;br /&gt;
	[&amp;quot;b&amp;quot;] = &amp;quot;б&amp;quot;,&lt;br /&gt;
	[&amp;quot;u&amp;quot;] = &amp;quot;у&amp;quot;,&lt;br /&gt;
	[&amp;quot;ü&amp;quot;] = &amp;quot;ӯ&amp;quot;,&lt;br /&gt;
	[&amp;quot;s&amp;quot;] = &amp;quot;с&amp;quot;,&lt;br /&gt;
	[&amp;quot;x&amp;quot;] = &amp;quot;х&amp;quot;,&lt;br /&gt;
	[&amp;quot;č&amp;quot;] = &amp;quot;ч&amp;quot;,&lt;br /&gt;
	[&amp;quot;m&amp;quot;] = &amp;quot;м&amp;quot;,&lt;br /&gt;
	[&amp;quot;o&amp;quot;] = &amp;quot;о&amp;quot;,&lt;br /&gt;
	[&amp;quot;i&amp;quot;] = &amp;quot;и&amp;quot;,&lt;br /&gt;
	[&amp;quot;ž&amp;quot;] = &amp;quot;ж&amp;quot;,&lt;br /&gt;
	[&amp;quot;k&amp;quot;] = &amp;quot;к&amp;quot;,&lt;br /&gt;
	[&amp;quot;d&amp;quot;] = &amp;quot;д&amp;quot;,&lt;br /&gt;
	[&amp;quot;v&amp;quot;] = &amp;quot;в&amp;quot;,&lt;br /&gt;
	[&amp;quot;a&amp;quot;] = &amp;quot;а&amp;quot;,&lt;br /&gt;
	[&amp;quot;j&amp;quot;] = &amp;quot;ҷ&amp;quot;,&lt;br /&gt;
	[&amp;quot;q&amp;quot;] = &amp;quot;қ&amp;quot;,&lt;br /&gt;
	[&amp;quot;ġ&amp;quot;] = &amp;quot;ғ&amp;quot;,&lt;br /&gt;
	--capital letters&lt;br /&gt;
	-- fa-IPA doesnt support letter case.&lt;br /&gt;
	-- these are here as a precaution&lt;br /&gt;
	[&amp;quot;T&amp;quot;] = &amp;quot;Т&amp;quot;,&lt;br /&gt;
	[&amp;quot;R&amp;quot;] = &amp;quot;Р&amp;quot;,&lt;br /&gt;
	[&amp;quot;F&amp;quot;] = &amp;quot;Ф&amp;quot;,&lt;br /&gt;
	[&amp;quot;Š&amp;quot;] = &amp;quot;Ш&amp;quot;,&lt;br /&gt;
	[&amp;quot;H&amp;quot;] = &amp;quot;Ҳ&amp;quot;,&lt;br /&gt;
	[&amp;quot;N&amp;quot;] = &amp;quot;Н&amp;quot;,&lt;br /&gt;
	[&amp;quot;P&amp;quot;] = &amp;quot;П&amp;quot;,&lt;br /&gt;
	[&amp;quot;Y&amp;quot;] = &amp;quot;Й&amp;quot;,&lt;br /&gt;
	[&amp;quot;L&amp;quot;] = &amp;quot;Л&amp;quot;,&lt;br /&gt;
	[&amp;quot;Z&amp;quot;] = &amp;quot;З&amp;quot;,&lt;br /&gt;
	[&amp;quot;E&amp;quot;] = &amp;quot;Е&amp;quot;,&lt;br /&gt;
	[&amp;quot;G&amp;quot;] = &amp;quot;Г&amp;quot;,&lt;br /&gt;
	[&amp;quot;B&amp;quot;] = &amp;quot;Б&amp;quot;,&lt;br /&gt;
	[&amp;quot;U&amp;quot;] = &amp;quot;У&amp;quot;,&lt;br /&gt;
	[&amp;quot;Ü&amp;quot;] = &amp;quot;Ӯ&amp;quot;,&lt;br /&gt;
	[&amp;quot;S&amp;quot;] = &amp;quot;С&amp;quot;,&lt;br /&gt;
	[&amp;quot;X&amp;quot;] = &amp;quot;Х&amp;quot;,&lt;br /&gt;
	[&amp;quot;Č&amp;quot;] = &amp;quot;Ч&amp;quot;,&lt;br /&gt;
	[&amp;quot;M&amp;quot;] = &amp;quot;М&amp;quot;,&lt;br /&gt;
	[&amp;quot;O&amp;quot;] = &amp;quot;О&amp;quot;,&lt;br /&gt;
	[&amp;quot;I&amp;quot;] = &amp;quot;И&amp;quot;,&lt;br /&gt;
	[&amp;quot;Ž&amp;quot;] = &amp;quot;Ж&amp;quot;,&lt;br /&gt;
	[&amp;quot;K&amp;quot;] = &amp;quot;К&amp;quot;,&lt;br /&gt;
	[&amp;quot;D&amp;quot;] = &amp;quot;Д&amp;quot;,&lt;br /&gt;
	[&amp;quot;V&amp;quot;] = &amp;quot;В&amp;quot;,&lt;br /&gt;
	[&amp;quot;A&amp;quot;] = &amp;quot;А&amp;quot;,&lt;br /&gt;
	[&amp;quot;J&amp;quot;] = &amp;quot;Ҷ&amp;quot;,&lt;br /&gt;
	[&amp;quot;Q&amp;quot;] = &amp;quot;Қ&amp;quot;,&lt;br /&gt;
	[&amp;quot;Ġ&amp;quot;] = &amp;quot;Ғ&amp;quot;,&lt;br /&gt;
	-- [&amp;quot;ʾ&amp;quot;] = &amp;quot;Ъ&amp;quot; - this cant be uppercase in latin&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local iodated = {&lt;br /&gt;
	[&amp;quot;ye&amp;quot;] = &amp;quot;е&amp;quot;,&lt;br /&gt;
	[&amp;quot;yi&amp;quot;] = &amp;quot;и&amp;quot;,&lt;br /&gt;
	[&amp;quot;yo&amp;quot;] = &amp;quot;ё&amp;quot;,&lt;br /&gt;
	[&amp;quot;yu&amp;quot;] = &amp;quot;ю&amp;quot;,&lt;br /&gt;
	[&amp;quot;ya&amp;quot;] = &amp;quot;я&amp;quot;,&lt;br /&gt;
	-- uppercase (fa-IPA doesnt support letter case, these are&lt;br /&gt;
	-- precautionary)&lt;br /&gt;
	[&amp;quot;Ye&amp;quot;] = &amp;quot;Е&amp;quot;,&lt;br /&gt;
	[&amp;quot;Yi&amp;quot;] = &amp;quot;И&amp;quot;,&lt;br /&gt;
	[&amp;quot;Yo&amp;quot;] = &amp;quot;Ё&amp;quot;,&lt;br /&gt;
	[&amp;quot;Yu&amp;quot;] = &amp;quot;Ю&amp;quot;,&lt;br /&gt;
	[&amp;quot;Ya&amp;quot;] = &amp;quot;Я&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
local allcons = &amp;quot;BbVvGgĠġDdŽžZzYyKkQqLlMmNnRrPpSsTtFfXxHhČčJjŠš\&amp;#039;&amp;quot; &lt;br /&gt;
local allvowels = &amp;quot;AaEeIiOoUuÜü&amp;quot;&lt;br /&gt;
local allchar = allcons .. allvowels&lt;br /&gt;
local gsub = mw.ustring.gsub&lt;br /&gt;
local rsplit = mw.text.split&lt;br /&gt;
local romanize_tg = require(&amp;quot;Module:fa-IPA&amp;quot;).romanize_tg -- use dialect conversion built into fa-IPA&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
	if type(text) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		options = {}&lt;br /&gt;
		text, script = text.args[1], text.args[2]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not sc then&lt;br /&gt;
		sc = require(&amp;quot;Module:languages&amp;quot;).getByCode(&amp;quot;tg&amp;quot;):findBestScript(text):getCode()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if sc ~= &amp;quot;Latn&amp;quot; then&lt;br /&gt;
		if sc == &amp;quot;Arab&amp;quot; or sc == &amp;quot;fa-Arab&amp;quot;&lt;br /&gt;
		then return require(&amp;#039;Module:fa-cls-translit&amp;#039;).tr(text)&lt;br /&gt;
		end&lt;br /&gt;
		else if sc == &amp;quot;Cyrl&amp;quot; or sc == &amp;quot;tg-Cyrl&amp;quot; then&lt;br /&gt;
		return nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	--to prevent the endings -ī and -i from getting mixed up, we must do this first&lt;br /&gt;
	text = gsub(text, &amp;quot;%-ī&amp;quot;, &amp;quot;ī&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- if the input is Classical Persian, fix it&lt;br /&gt;
	text = gsub(text, &amp;quot;%%&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = romanize_tg(text)&lt;br /&gt;
&lt;br /&gt;
	-- treat every word as an individual string&lt;br /&gt;
	--[=[&lt;br /&gt;
	rsplit( &amp;quot;([&amp;quot; .. allchar .. &amp;quot;])&amp;quot; .. &amp;quot;([^&amp;quot; .. allchar .. &amp;quot;])&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
	rsplit( &amp;quot;([^&amp;quot; .. allchar .. &amp;quot;])&amp;quot; .. &amp;quot;([&amp;quot; .. allchar .. &amp;quot;])&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
	rsplit( &amp;quot;([&amp;quot; .. allchar .. &amp;quot;])&amp;quot; .. &amp;quot;(%s%-)&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
	rsplit( &amp;quot;(%s%-)&amp;quot; .. &amp;quot;([^&amp;quot; .. allchar .. &amp;quot;])&amp;quot; , &amp;quot;,&amp;quot;) ]=]&lt;br /&gt;
	text = gsub(text, &amp;quot;([&amp;quot; .. allchar .. &amp;quot;])([^&amp;quot; .. allchar .. &amp;quot;])&amp;quot;, &amp;quot;%1##%2&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;([^&amp;quot; .. allchar .. &amp;quot;])([&amp;quot; .. allchar .. &amp;quot;])&amp;quot;, &amp;quot;%1##%2&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot; | &amp;quot;, &amp;quot;# | #&amp;quot;)&lt;br /&gt;
	text = &amp;quot;##&amp;quot; .. gsub(text, &amp;quot; &amp;quot;, &amp;quot;# #&amp;quot;) .. &amp;quot;##&amp;quot;&lt;br /&gt;
	--rsplit( &amp;quot;#&amp;quot; ..&amp;quot;%s&amp;quot; .. &amp;quot;#&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
	--rsplit( &amp;quot;#&amp;quot; ..&amp;quot;_&amp;quot; .. &amp;quot;#&amp;quot;, &amp;quot;,&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	--glottal stop isnt typically written when its obvious&lt;br /&gt;
	text = gsub(text, &amp;quot;([AaEeIiOoUuÜü])&amp;#039;([AaOoUuÜü])&amp;quot;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
	--glottal stop is almost always lost after historical ā&amp;#039;i, or a&amp;#039;i&lt;br /&gt;
	text = gsub(text, &amp;quot;([AaOo])&amp;#039;([Ii])&amp;quot;, &amp;quot;%1%2&amp;quot;)&lt;br /&gt;
	--initial &amp;quot;e&amp;quot; forms&lt;br /&gt;
	text = gsub(text, &amp;quot;#e&amp;quot;, &amp;quot;#э&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#E&amp;quot;, &amp;quot;#Э&amp;quot;)&lt;br /&gt;
	-- underlying geminate (only geminated when inflected)&lt;br /&gt;
	text = gsub(text, &amp;quot;([&amp;quot; .. allcons .. &amp;quot;])%1##&amp;quot;, &amp;quot;%1##&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;([&amp;quot; .. allchar .. &amp;quot;])###&amp;quot; .. &amp;quot; &amp;quot; .. &amp;quot;###u##&amp;quot; , &amp;quot;%1u##&amp;quot; )&lt;br /&gt;
	--tajik orthography uses dashes but NOT the way fa-IPA does&lt;br /&gt;
	--so they need to be removed&lt;br /&gt;
	text = gsub(text, &amp;quot;([y]?)i##%-##([&amp;quot; .. allchar .. &amp;quot;])&amp;quot;, &amp;quot;и##%2&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;##([y]?)i#&amp;quot;, &amp;quot;и#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;([y]?)i#&amp;quot;, &amp;quot;ӣ#&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;%-&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;#&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = gsub(text, &lt;br /&gt;
		&amp;quot;([&amp;quot; .. allvowels .. &amp;quot;Yy])([Yy][AaEeIiOoUu])&amp;quot;, &lt;br /&gt;
		function(a,e)&lt;br /&gt;
		return a .. iodated[e]&lt;br /&gt;
		end)&lt;br /&gt;
	&lt;br /&gt;
	text = gsub(text, &amp;quot;[Yy][eoua]&amp;quot;, iodated)&lt;br /&gt;
	--text = gsub(text, &amp;quot;([&amp;quot; .. allcons .. &amp;quot;])yi&amp;quot;, &amp;quot;%1йи&amp;quot;)&lt;br /&gt;
	text = gsub(text, &amp;quot;.&amp;quot;, tt)&lt;br /&gt;
	text = gsub(text, &amp;quot;ӣи&amp;quot;, &amp;quot;ии&amp;quot;)&lt;br /&gt;
&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;Babr</name></author>
	</entry>
</feed>