<?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%3Aniv-translit</id>
	<title>Module:niv-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%3Aniv-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:niv-translit&amp;action=history"/>
	<updated>2026-05-09T20:05:40Z</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:niv-translit&amp;diff=495171&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:niv-translit&amp;diff=495171&amp;oldid=prev"/>
		<updated>2026-04-21T12:00:29Z</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:niv-translit&amp;diff=495170&amp;oldid=prev</id>
		<title>wikt&gt;Benwing2: string.gsub() returns two values, make sure we discard the second</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:niv-translit&amp;diff=495170&amp;oldid=prev"/>
		<updated>2025-12-21T01:37:05Z</updated>

		<summary type="html">&lt;p&gt;string.gsub() returns two values, make sure we discard the second&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 UTF8_char = &amp;quot;[\1-\127\194-\244][\128-\191]*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local unpack = unpack or table.unpack -- Lua 5.2 compatibility&lt;br /&gt;
&lt;br /&gt;
local tab = {&lt;br /&gt;
	[&amp;quot;А&amp;quot;]=&amp;#039;A&amp;#039;, [&amp;quot;а&amp;quot;]=&amp;#039;a&amp;#039;, [&amp;quot;В&amp;quot;]=&amp;#039;V&amp;#039;, [&amp;quot;в&amp;quot;]=&amp;#039;v&amp;#039;, [&amp;quot;Е&amp;quot;]=&amp;#039;E&amp;#039;, [&amp;quot;е&amp;quot;]=&amp;#039;e&amp;#039;,&lt;br /&gt;
	[&amp;quot;Ё&amp;quot;]=&amp;#039;Jo&amp;#039;, [&amp;quot;ё&amp;quot;]=&amp;#039;jo&amp;#039;,	[&amp;quot;Г&amp;quot;]=&amp;#039;G&amp;#039;, [&amp;quot;г&amp;quot;]=&amp;#039;g&amp;#039;, [&amp;quot;Ӷ&amp;quot;]=&amp;#039;Ğ&amp;#039;, [&amp;quot;ӷ&amp;quot;]=&amp;#039;ğ&amp;#039;,&lt;br /&gt;
	[&amp;quot;Ғ&amp;quot;]=&amp;#039;Γ&amp;#039;, [&amp;quot;ғ&amp;quot;]=&amp;#039;γ&amp;#039;, [&amp;quot;Ӻ&amp;quot;]=&amp;#039;Ġ&amp;#039;, [&amp;quot;ӻ&amp;quot;]=&amp;#039;ġ&amp;#039;, [&amp;quot;Д&amp;quot;]=&amp;#039;D&amp;#039;, [&amp;quot;д&amp;quot;]=&amp;#039;d&amp;#039;,&lt;br /&gt;
	[&amp;quot;И&amp;quot;]=&amp;#039;I&amp;#039;, [&amp;quot;и&amp;quot;]=&amp;#039;i&amp;#039;, [&amp;quot;Й&amp;quot;]=&amp;#039;J&amp;#039;, [&amp;quot;й&amp;quot;]=&amp;#039;j&amp;#039;,&lt;br /&gt;
	[&amp;quot;К&amp;quot;]=&amp;#039;K&amp;#039;, [&amp;quot;к&amp;quot;]=&amp;#039;k&amp;#039;, [&amp;quot;Ӄ&amp;quot;]=&amp;#039;Q&amp;#039;, [&amp;quot;ӄ&amp;quot;]=&amp;#039;q&amp;#039;, [&amp;quot;Қ&amp;quot;]=&amp;#039;Q&amp;#039;, [&amp;quot;қ&amp;quot;]=&amp;#039;q&amp;#039;,&lt;br /&gt;
	[&amp;quot;Л&amp;quot;]=&amp;#039;L&amp;#039;, [&amp;quot;л&amp;quot;]=&amp;#039;l&amp;#039;, [&amp;quot;М&amp;quot;]=&amp;#039;M&amp;#039;, [&amp;quot;м&amp;quot;]=&amp;#039;m&amp;#039;, [&amp;quot;Н&amp;quot;]=&amp;#039;N&amp;#039;, [&amp;quot;н&amp;quot;]=&amp;#039;n&amp;#039;,&lt;br /&gt;
	[&amp;quot;Ӈ&amp;quot;]=&amp;#039;Ŋ&amp;#039;, [&amp;quot;ӈ&amp;quot;]=&amp;#039;ŋ&amp;#039;, [&amp;quot;Ң&amp;quot;]=&amp;#039;Ŋ&amp;#039;, [&amp;quot;ң&amp;quot;]=&amp;#039;ŋ&amp;#039;,&lt;br /&gt;
	[&amp;quot;О&amp;quot;]=&amp;#039;O&amp;#039;, [&amp;quot;о&amp;quot;]=&amp;#039;o&amp;#039;, [&amp;quot;П&amp;quot;]=&amp;#039;P&amp;#039;, [&amp;quot;п&amp;quot;]=&amp;#039;p&amp;#039;, [&amp;quot;Р&amp;quot;]=&amp;#039;R&amp;#039;, [&amp;quot;р&amp;quot;]=&amp;#039;r&amp;#039;,&lt;br /&gt;
	[&amp;quot;Р̌&amp;quot;]=&amp;#039;Ř&amp;#039;, [&amp;quot;р̌&amp;quot;]=&amp;#039;ř&amp;#039;, [&amp;quot;С&amp;quot;]=&amp;#039;S&amp;#039;, [&amp;quot;с&amp;quot;]=&amp;#039;s&amp;#039;, [&amp;quot;Т&amp;quot;]=&amp;#039;T&amp;#039;, [&amp;quot;т&amp;quot;]=&amp;#039;t&amp;#039;,&lt;br /&gt;
	[&amp;quot;У&amp;quot;]=&amp;#039;U&amp;#039;, [&amp;quot;у&amp;quot;]=&amp;#039;u&amp;#039;, [&amp;quot;Ў&amp;quot;]=&amp;#039;W&amp;#039;, [&amp;quot;ў&amp;quot;]=&amp;#039;w&amp;#039;, [&amp;quot;Ф&amp;quot;]=&amp;#039;F&amp;#039;, [&amp;quot;ф&amp;quot;]=&amp;#039;f&amp;#039;,&lt;br /&gt;
	[&amp;quot;Х&amp;quot;]=&amp;#039;X&amp;#039;, [&amp;quot;х&amp;quot;]=&amp;#039;x&amp;#039;, [&amp;quot;Ӽ&amp;quot;]=&amp;#039;Ẋ&amp;#039;, [&amp;quot;ӽ&amp;quot;]=&amp;#039;ẋ&amp;#039;, [&amp;quot;Ҳ&amp;quot;]=&amp;#039;Ẋ&amp;#039;, [&amp;quot;ҳ&amp;quot;]=&amp;#039;ẋ&amp;#039;, &lt;br /&gt;
	[&amp;quot;Ӿ&amp;quot;]=&amp;#039;H&amp;#039;, [&amp;quot;ӿ&amp;quot;]=&amp;#039;h&amp;#039;, [&amp;quot;Ч&amp;quot;]=&amp;#039;Ț’&amp;#039;, [&amp;quot;ч&amp;quot;]=&amp;#039;ț’&amp;#039;,&lt;br /&gt;
	[&amp;quot;Ы&amp;quot;]=&amp;#039;Ə&amp;#039;, [&amp;quot;ы&amp;quot;]=&amp;#039;ə&amp;#039;, [&amp;quot;Э&amp;quot;]=&amp;#039;E&amp;#039;, [&amp;quot;э&amp;quot;]=&amp;#039;e&amp;#039;, [&amp;quot;Ю&amp;quot;]=&amp;#039;Ju&amp;#039;, [&amp;quot;ю&amp;quot;]=&amp;#039;ju&amp;#039;,&lt;br /&gt;
	[&amp;quot;Я&amp;quot;]=&amp;#039;Ja&amp;#039;, [&amp;quot;я&amp;quot;]=&amp;#039;ja&amp;#039;, [&amp;quot;’&amp;quot;]=&amp;#039;ʼ&amp;#039;, [&amp;quot;ʼ&amp;quot;]=&amp;#039;ʼ&amp;#039;,&lt;br /&gt;
	-- non-native letters&lt;br /&gt;
	[&amp;quot;Б&amp;quot;]=&amp;#039;B&amp;#039;, [&amp;quot;б&amp;quot;]=&amp;#039;b&amp;#039;, [&amp;quot;Ж&amp;quot;]=&amp;#039;ž&amp;#039;, [&amp;quot;ж&amp;quot;]=&amp;#039;ž&amp;#039;,	[&amp;quot;З&amp;quot;]=&amp;#039;Z&amp;#039;, [&amp;quot;з&amp;quot;]=&amp;#039;z&amp;#039;,&lt;br /&gt;
	[&amp;quot;Ц&amp;quot;]=&amp;#039;C&amp;#039;, [&amp;quot;ц&amp;quot;]=&amp;#039;c&amp;#039;, [&amp;quot;Ш&amp;quot;]=&amp;#039;Š&amp;#039;, [&amp;quot;ш&amp;quot;]=&amp;#039;š&amp;#039;, [&amp;quot;Щ&amp;quot;]=&amp;#039;Šč&amp;#039;, [&amp;quot;щ&amp;quot;]=&amp;#039;šč&amp;#039;,&lt;br /&gt;
	[&amp;#039;Ъ&amp;#039;]=&amp;#039;ʺ&amp;#039;, [&amp;#039;ъ&amp;#039;]=&amp;#039;ʺ&amp;#039;, [&amp;quot;Ь&amp;quot;]=&amp;quot;’&amp;quot;, [&amp;quot;ь&amp;quot;]=&amp;quot;’&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local palatal = {&lt;br /&gt;
	{ &amp;#039;Дj&amp;#039;, &amp;#039;D̦&amp;#039; },&lt;br /&gt;
	{ &amp;#039;дj&amp;#039;, &amp;#039;d̦&amp;#039; },&lt;br /&gt;
	{ &amp;#039;Нj&amp;#039;, &amp;#039;Ņ&amp;#039; },&lt;br /&gt;
	{ &amp;#039;нj&amp;#039;, &amp;#039;ņ&amp;#039; },&lt;br /&gt;
	{ &amp;#039;Тj&amp;#039;, &amp;#039;Ț&amp;#039; },&lt;br /&gt;
	{ &amp;#039;тj&amp;#039;, &amp;#039;ț&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function export.tr(text, lang, sc)&lt;br /&gt;
	--[=[&lt;br /&gt;
	Unfortunately the Cyrillic alphabet doesn&amp;#039;t distinguish between ţi and ti&lt;br /&gt;
	or ţe and te and so on.&lt;br /&gt;
	&lt;br /&gt;
	Represent iotation with j to allow the palatal consonant replacements.&lt;br /&gt;
	]=]&lt;br /&gt;
	text = string.gsub(text, UTF8_char,&lt;br /&gt;
		{&lt;br /&gt;
			[&amp;#039;Я&amp;#039;] = &amp;#039;Ja&amp;#039;, [&amp;#039;я&amp;#039;] = &amp;#039;ja&amp;#039;,&lt;br /&gt;
			[&amp;#039;Ё&amp;#039;] = &amp;#039;Jo&amp;#039;, [&amp;#039;ё&amp;#039;] = &amp;#039;jo&amp;#039;,&lt;br /&gt;
			[&amp;#039;Ю&amp;#039;] = &amp;#039;Ju&amp;#039;, [&amp;#039;ю&amp;#039;] = &amp;#039;ju&amp;#039;,&lt;br /&gt;
			[&amp;#039;ь&amp;#039;] = &amp;#039;j&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	for _, item in ipairs(palatal) do&lt;br /&gt;
		text = string.gsub(text, unpack(item))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local vowels = {}&lt;br /&gt;
	for char in string.gmatch(&amp;quot;АОУЫЕИЪЬаӣиоуыэеъьaeiou&amp;quot;, UTF8_char) do&lt;br /&gt;
		vowels[char] = true&lt;br /&gt;
	end&lt;br /&gt;
 	text = mw.ustring.gsub(text,&lt;br /&gt;
 		&amp;quot;(.?)([Ее])&amp;quot;,&lt;br /&gt;
 		function (preceding, e)&lt;br /&gt;
 			-- modifier letter apostrophe or right single quotation mark&lt;br /&gt;
 			local capital = e == &amp;quot;Е&amp;quot;&lt;br /&gt;
 			if preceding == &amp;quot;ʼ&amp;quot; or preceding == &amp;quot;’&amp;quot; then&lt;br /&gt;
 				e = capital and &amp;quot;E&amp;quot; or &amp;quot;e&amp;quot;&lt;br /&gt;
 			elseif preceding == &amp;quot;&amp;quot; or vowels[preceding] or mw.ustring.find(preceding, &amp;quot;[^Ѐ-ӿ]&amp;quot;) then&lt;br /&gt;
 				e = capital and &amp;quot;Je&amp;quot; or &amp;quot;je&amp;quot;&lt;br /&gt;
 			else&lt;br /&gt;
 				mw.log(&amp;quot;Module:niv-translit could not decide how to transliterate &amp;quot; .. e ..&lt;br /&gt;
 					&amp;quot; after &amp;quot; .. preceding .. &amp;quot;.&amp;quot;)&lt;br /&gt;
 			end&lt;br /&gt;
 			return preceding .. e&lt;br /&gt;
 		end)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;ни&amp;quot;, &amp;quot;ņi&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;Ни&amp;quot;, &amp;quot;Ņi&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;НИ&amp;quot;, &amp;quot;ŅI&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;ди&amp;quot;, &amp;quot;d̦i&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;Ди&amp;quot;, &amp;quot;D̦i&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;ДИ&amp;quot;, &amp;quot;D̦I&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;ти&amp;quot;, &amp;quot;ți&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;Ти&amp;quot;, &amp;quot;Ți&amp;quot;)&lt;br /&gt;
 	text = mw.ustring.gsub(text, &amp;quot;ТИ&amp;quot;, &amp;quot;ȚI&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    return (string.gsub(text, UTF8_char, tab))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>wikt&gt;Benwing2</name></author>
	</entry>
</feed>