<?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%3Aru-translit</id>
	<title>Module:ru-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%3Aru-translit"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ru-translit&amp;action=history"/>
	<updated>2026-04-07T00:58:46Z</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:ru-translit&amp;diff=270573&amp;oldid=prev</id>
		<title>Sware: Created page with &quot;local export = {}  --[=[  FIXME:  1. (DONE) If you write &#039;&#039;&#039;Б&#039;&#039;&#039;ез, it transliterates to &#039;&#039;&#039;B&#039;&#039;&#039;jez instead of    &#039;&#039;&#039;B&#039;&#039;&#039;ez, as it should. 2. (DONE) Convert ъ to nothing b...&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:ru-translit&amp;diff=270573&amp;oldid=prev"/>
		<updated>2022-05-05T12:35:58Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {}  --[=[  FIXME:  1. (DONE) If you write &amp;#039;&amp;#039;&amp;#039;Б&amp;#039;&amp;#039;&amp;#039;ез, it transliterates to &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;jez instead of    &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;ez, as it should. 2. (DONE) Convert ъ to nothing b...&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;
--[=[&lt;br /&gt;
&lt;br /&gt;
FIXME:&lt;br /&gt;
&lt;br /&gt;
1. (DONE) If you write &amp;#039;&amp;#039;&amp;#039;Б&amp;#039;&amp;#039;&amp;#039;ез, it transliterates to &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;jez instead of&lt;br /&gt;
   &amp;#039;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;#039;ez, as it should.&lt;br /&gt;
2. (DONE) Convert ъ to nothing before comma or other non-letter particle, e.g.&lt;br /&gt;
   in Однимъ словомъ, идешь на чтеніе.&lt;br /&gt;
3. (DONE) Make special-casing for adjectives in -го and for что (and friends)&lt;br /&gt;
    be the default, and implement transformations in Cyrillic rather than after&lt;br /&gt;
    translit so that we can display the transformed Cyrillic in the&lt;br /&gt;
    &amp;quot;phonetic respelling&amp;quot; notation of {{ru-IPA}}.&lt;br /&gt;
4. (DONE) Convert apostrophe to ъ before transliteration when after a consonant&lt;br /&gt;
   and before a vowel (requested by Atitarev).&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local u = mw.ustring.char&lt;br /&gt;
local rfind = mw.ustring.find&lt;br /&gt;
local rsub = mw.ustring.gsub -- WARNING: Don&amp;#039;t return this directly in a function, or surround in parens&lt;br /&gt;
local rmatch = mw.ustring.match&lt;br /&gt;
local rsplit = mw.text.split&lt;br /&gt;
local ulower = mw.ustring.lower&lt;br /&gt;
local usub = mw.ustring.sub&lt;br /&gt;
&lt;br /&gt;
local GR = u(0x0300) -- grave =  ̀&lt;br /&gt;
local TEMP_G = u(0xFFF1) -- substitute to preserve g from changing to v&lt;br /&gt;
&lt;br /&gt;
local function ine(x) -- if not empty&lt;br /&gt;
	if x == &amp;quot;&amp;quot; then return nil else return x end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- In this table, we now map Cyrillic е and э to je and e, and handle the&lt;br /&gt;
-- post-consonant version (plain e and ɛ) specially.&lt;br /&gt;
local tab = {&lt;br /&gt;
	[&amp;quot;А&amp;quot;]=&amp;quot;A&amp;quot;, [&amp;quot;Б&amp;quot;]=&amp;quot;B&amp;quot;, [&amp;quot;В&amp;quot;]=&amp;quot;V&amp;quot;, [&amp;quot;Г&amp;quot;]=&amp;quot;G&amp;quot;, [&amp;quot;Д&amp;quot;]=&amp;quot;D&amp;quot;, [&amp;quot;Е&amp;quot;]=&amp;quot;Je&amp;quot;, [&amp;quot;Ё&amp;quot;]=&amp;quot;Jó&amp;quot;, [&amp;quot;Ж&amp;quot;]=&amp;quot;Ž&amp;quot;, [&amp;quot;З&amp;quot;]=&amp;quot;Z&amp;quot;, [&amp;quot;И&amp;quot;]=&amp;quot;I&amp;quot;, [&amp;quot;Й&amp;quot;]=&amp;quot;J&amp;quot;,&lt;br /&gt;
	[&amp;quot;К&amp;quot;]=&amp;quot;K&amp;quot;, [&amp;quot;Л&amp;quot;]=&amp;quot;L&amp;quot;, [&amp;quot;М&amp;quot;]=&amp;quot;M&amp;quot;, [&amp;quot;Н&amp;quot;]=&amp;quot;N&amp;quot;, [&amp;quot;О&amp;quot;]=&amp;quot;O&amp;quot;, [&amp;quot;П&amp;quot;]=&amp;quot;P&amp;quot;, [&amp;quot;Р&amp;quot;]=&amp;quot;R&amp;quot;, [&amp;quot;С&amp;quot;]=&amp;quot;S&amp;quot;, [&amp;quot;Т&amp;quot;]=&amp;quot;T&amp;quot;, [&amp;quot;У&amp;quot;]=&amp;quot;U&amp;quot;, [&amp;quot;Ф&amp;quot;]=&amp;quot;F&amp;quot;,&lt;br /&gt;
	[&amp;quot;Х&amp;quot;]=&amp;quot;X&amp;quot;, [&amp;quot;Ц&amp;quot;]=&amp;quot;C&amp;quot;, [&amp;quot;Ч&amp;quot;]=&amp;quot;Č&amp;quot;, [&amp;quot;Ш&amp;quot;]=&amp;quot;Š&amp;quot;, [&amp;quot;Щ&amp;quot;]=&amp;quot;Šč&amp;quot;, [&amp;quot;Ъ&amp;quot;]=&amp;quot;ʺ&amp;quot;, [&amp;quot;Ы&amp;quot;]=&amp;quot;Y&amp;quot;, [&amp;quot;Ь&amp;quot;]=&amp;quot;ʹ&amp;quot;, [&amp;quot;Э&amp;quot;]=&amp;quot;E&amp;quot;, [&amp;quot;Ю&amp;quot;]=&amp;quot;Ju&amp;quot;, [&amp;quot;Я&amp;quot;]=&amp;quot;Ja&amp;quot;,&lt;br /&gt;
	[&amp;#039;а&amp;#039;]=&amp;#039;a&amp;#039;, [&amp;#039;б&amp;#039;]=&amp;#039;b&amp;#039;, [&amp;#039;в&amp;#039;]=&amp;#039;v&amp;#039;, [&amp;#039;г&amp;#039;]=&amp;#039;g&amp;#039;, [&amp;#039;д&amp;#039;]=&amp;#039;d&amp;#039;, [&amp;#039;е&amp;#039;]=&amp;#039;je&amp;#039;, [&amp;#039;ё&amp;#039;]=&amp;#039;jó&amp;#039;, [&amp;#039;ж&amp;#039;]=&amp;#039;ž&amp;#039;, [&amp;#039;з&amp;#039;]=&amp;#039;z&amp;#039;, [&amp;#039;и&amp;#039;]=&amp;#039;i&amp;#039;, [&amp;#039;й&amp;#039;]=&amp;#039;j&amp;#039;,&lt;br /&gt;
	[&amp;#039;к&amp;#039;]=&amp;#039;k&amp;#039;, [&amp;#039;л&amp;#039;]=&amp;#039;l&amp;#039;, [&amp;#039;м&amp;#039;]=&amp;#039;m&amp;#039;, [&amp;#039;н&amp;#039;]=&amp;#039;n&amp;#039;, [&amp;#039;о&amp;#039;]=&amp;#039;o&amp;#039;, [&amp;#039;п&amp;#039;]=&amp;#039;p&amp;#039;, [&amp;#039;р&amp;#039;]=&amp;#039;r&amp;#039;, [&amp;#039;с&amp;#039;]=&amp;#039;s&amp;#039;, [&amp;#039;т&amp;#039;]=&amp;#039;t&amp;#039;, [&amp;#039;у&amp;#039;]=&amp;#039;u&amp;#039;, [&amp;#039;ф&amp;#039;]=&amp;#039;f&amp;#039;,&lt;br /&gt;
	[&amp;#039;х&amp;#039;]=&amp;#039;x&amp;#039;, [&amp;#039;ц&amp;#039;]=&amp;#039;c&amp;#039;, [&amp;#039;ч&amp;#039;]=&amp;#039;č&amp;#039;, [&amp;#039;ш&amp;#039;]=&amp;#039;š&amp;#039;, [&amp;#039;щ&amp;#039;]=&amp;#039;šč&amp;#039;, [&amp;#039;ъ&amp;#039;]=&amp;#039;ʺ&amp;#039;, [&amp;#039;ы&amp;#039;]=&amp;#039;y&amp;#039;, [&amp;#039;ь&amp;#039;]=&amp;#039;ʹ&amp;#039;, [&amp;#039;э&amp;#039;]=&amp;#039;e&amp;#039;, [&amp;#039;ю&amp;#039;]=&amp;#039;ju&amp;#039;, [&amp;#039;я&amp;#039;]=&amp;#039;ja&amp;#039;,&lt;br /&gt;
	-- Russian style quotes&lt;br /&gt;
	[&amp;#039;«&amp;#039;]=&amp;#039;“&amp;#039;, [&amp;#039;»&amp;#039;]=&amp;#039;”&amp;#039;,&lt;br /&gt;
	-- archaic, pre-1918 letters&lt;br /&gt;
	[&amp;#039;І&amp;#039;]=&amp;#039;I&amp;#039;, [&amp;#039;і&amp;#039;]=&amp;#039;i&amp;#039;, [&amp;#039;Ѳ&amp;#039;]=&amp;#039;F&amp;#039;, [&amp;#039;ѳ&amp;#039;]=&amp;#039;f&amp;#039;,&lt;br /&gt;
	[&amp;#039;Ѣ&amp;#039;]=&amp;#039;Jě&amp;#039;, [&amp;#039;ѣ&amp;#039;]=&amp;#039;jě&amp;#039;, [&amp;#039;Ѵ&amp;#039;]=&amp;#039;I&amp;#039;, [&amp;#039;ѵ&amp;#039;]=&amp;#039;i&amp;#039;,&lt;br /&gt;
	-- archaic, pre-1700 letters&lt;br /&gt;
	[&amp;#039;Ѕ&amp;#039;]=&amp;#039;Z&amp;#039;, [&amp;#039;ѕ&amp;#039;]=&amp;#039;z&amp;#039;, [&amp;#039;Ꙃ&amp;#039;]=&amp;#039;Z&amp;#039;, [&amp;#039;ꙃ&amp;#039;]=&amp;#039;z&amp;#039;, [&amp;#039;Ꙁ&amp;#039;]=&amp;#039;Z&amp;#039;, [&amp;#039;ꙁ&amp;#039;]=&amp;#039;z&amp;#039;,&lt;br /&gt;
	[&amp;#039;Ѡ&amp;#039;]=&amp;#039;O&amp;#039;, [&amp;#039;ѡ&amp;#039;]=&amp;#039;o&amp;#039;, [&amp;#039;Ѿ&amp;#039;]=&amp;#039;Ot&amp;#039;, [&amp;#039;ѿ&amp;#039;]=&amp;#039;ot&amp;#039;, [&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;Y&amp;#039;, [&amp;#039;ꙑ&amp;#039;]=&amp;#039;y&amp;#039;, [&amp;#039;Ꙗ&amp;#039;]=&amp;#039;Ja&amp;#039;, [&amp;#039;ꙗ&amp;#039;]=&amp;#039;ja&amp;#039;, [&amp;#039;Ѥ&amp;#039;]=&amp;#039;Je&amp;#039;, [&amp;#039;ѥ&amp;#039;]=&amp;#039;je&amp;#039;,&lt;br /&gt;
	[&amp;#039;Ѧ&amp;#039;]=&amp;#039;Ja&amp;#039;, [&amp;#039;ѧ&amp;#039;]=&amp;#039;ja&amp;#039;, [&amp;#039;Ѩ&amp;#039;]=&amp;#039;Ja&amp;#039;, [&amp;#039;ѩ&amp;#039;]=&amp;#039;ja&amp;#039;, [&amp;#039;Ѫ&amp;#039;]=&amp;#039;U&amp;#039;, [&amp;#039;ѫ&amp;#039;]=&amp;#039;u&amp;#039;, [&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;Ks&amp;#039;, [&amp;#039;ѯ&amp;#039;]=&amp;#039;ks&amp;#039;, [&amp;#039;Ѱ&amp;#039;]=&amp;#039;Ps&amp;#039;, [&amp;#039;ѱ&amp;#039;]=&amp;#039;ps&amp;#039;, [&amp;#039;Є&amp;#039;]=&amp;#039;E&amp;#039;, [&amp;#039;є&amp;#039;]=&amp;#039;e&amp;#039;, [&amp;#039;Ї&amp;#039;]=&amp;#039;I&amp;#039;, [&amp;#039;ї&amp;#039;]=&amp;#039;i&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- following based on ru-common for use with is_monosyllabic()&lt;br /&gt;
-- any Cyrillic or Latin vowel, including ёЁ and composed Cyrillic vowels with grave accent;&lt;br /&gt;
-- not including accented Latin vowels except ě (FIXME, might want to change this)&lt;br /&gt;
local lowercase_vowels = &amp;quot;аеиоуяэыюіѣѵүѐѝёaeiouyěɛ&amp;quot;&lt;br /&gt;
local uppercase_vowels = &amp;quot;АЕИОУЯЭЫЮІѢѴҮЀЍЁAEIOUYĚƐ&amp;quot;&lt;br /&gt;
local vowels = lowercase_vowels .. uppercase_vowels&lt;br /&gt;
&lt;br /&gt;
-- FIXME! Doesn&amp;#039;t work with ɣ, which gets included in this character set&lt;br /&gt;
local non_consonants = &amp;quot;[&amp;quot; .. vowels .. &amp;quot;ЪЬъьʹʺ%A]&amp;quot;&lt;br /&gt;
local consonants = &amp;quot;[^&amp;quot; .. vowels .. &amp;quot;ЪЬъьʹʺ%A]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local map_to_plain_e_map = {[&amp;quot;Е&amp;quot;] = &amp;quot;E&amp;quot;, [&amp;quot;е&amp;quot;] = &amp;quot;e&amp;quot;, [&amp;quot;Ѣ&amp;quot;] = &amp;quot;Ě&amp;quot;, [&amp;quot;ѣ&amp;quot;] = &amp;quot;ě&amp;quot;, [&amp;quot;Э&amp;quot;] = &amp;quot;Ɛ&amp;quot;, [&amp;quot;э&amp;quot;] = &amp;quot;ɛ&amp;quot;}&lt;br /&gt;
local function map_to_plain_e(pre, e)&lt;br /&gt;
	return pre .. map_to_plain_e_map[e]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local map_to_je_map = {[&amp;quot;Е&amp;quot;] = &amp;quot;Je&amp;quot;, [&amp;quot;е&amp;quot;] = &amp;quot;je&amp;quot;, [&amp;quot;Ѣ&amp;quot;] = &amp;quot;Jě&amp;quot;, [&amp;quot;ѣ&amp;quot;] = &amp;quot;jě&amp;quot;, [&amp;quot;Э&amp;quot;] = &amp;quot;E&amp;quot;, [&amp;quot;э&amp;quot;] = &amp;quot;e&amp;quot;}&lt;br /&gt;
local function map_to_je(pre, e)&lt;br /&gt;
	if e == nil then&lt;br /&gt;
		e = pre&lt;br /&gt;
		pre = &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return pre .. map_to_je_map[e]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- decompose composed grave chars; they will map to uncomposed Latin letters for&lt;br /&gt;
-- consistency with other char+grave combinations, and we do this early to&lt;br /&gt;
-- avoid problems converting to e or je&lt;br /&gt;
local decompose_grave_map = {[&amp;#039;ѐ&amp;#039;] = &amp;#039;е&amp;#039; .. GR, [&amp;#039;Ѐ&amp;#039;] = &amp;#039;Е&amp;#039; .. GR, [&amp;#039;ѝ&amp;#039;] = &amp;#039;и&amp;#039; .. GR, [&amp;#039;Ѝ&amp;#039;] = &amp;#039;И&amp;#039; .. GR}&lt;br /&gt;
&lt;br /&gt;
-- True if Cyrillic or decomposed Latin word has no more than one vowel;&lt;br /&gt;
-- includes non-syllabic stems such as льд-; copied from ru-common and modified&lt;br /&gt;
-- to avoid having to import that module (which would slow things down&lt;br /&gt;
-- significantly)&lt;br /&gt;
local function is_monosyllabic(word)&lt;br /&gt;
	return not rfind(word, &amp;quot;[&amp;quot; .. vowels .. &amp;quot;].*[&amp;quot; .. vowels .. &amp;quot;]&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Apply transformations to the Cyrillic to more closely match pronunciation.&lt;br /&gt;
-- Return two arguments: the &amp;quot;original&amp;quot; text (after decomposing composed&lt;br /&gt;
-- grave characters), and the transformed text. If the two are different,&lt;br /&gt;
-- {{ru-IPA}} should display a &amp;quot;phonetic respelling&amp;quot; notation. &lt;br /&gt;
-- NOADJ disables special-casing for adjectives in -го, while FORCEADJ forces&lt;br /&gt;
-- special-casing for adjectives, including those in -аго (pre-reform spelling)&lt;br /&gt;
-- and disables checking for exceptions (e.g. много, ого). NOSHTO disables&lt;br /&gt;
-- special-casing for что and related words.&lt;br /&gt;
function export.apply_tr_fixes(text, noadj, noshto, forceadj)&lt;br /&gt;
	-- decompose composed grave characters before we convert Cyrillic е to&lt;br /&gt;
	-- Latin e or je&lt;br /&gt;
	text = rsub(text, &amp;quot;[ѐЀѝЍ]&amp;quot;, decompose_grave_map)&lt;br /&gt;
&lt;br /&gt;
	local origtext = text&lt;br /&gt;
	-- the second half of the if-statement below is an optimization; see above.&lt;br /&gt;
	if not noadj and text:find(&amp;quot;го&amp;quot;) then&lt;br /&gt;
		local v = {[&amp;quot;г&amp;quot;] = &amp;quot;в&amp;quot;, [&amp;quot;Г&amp;quot;] = &amp;quot;В&amp;quot;}&lt;br /&gt;
		local repl = function(e, g, o, sja) return e .. v[g] .. o .. (sja or &amp;quot;&amp;quot;) end&lt;br /&gt;
		-- Handle какого-нибудь/-либо/-то; must be done first because of an exception&lt;br /&gt;
		-- made for бого-, снего-, etc.&lt;br /&gt;
		text = rsub(text, &amp;quot;([кКтТ][аА][кК][оеОЕ&amp;quot; .. (forceadj and &amp;quot;аА&amp;quot; or &amp;quot;&amp;quot;) .. &amp;quot;][\204\129\204\128]?)([гГ])([оО]%-)&amp;quot;, repl)&lt;br /&gt;
		if not forceadj then&lt;br /&gt;
			-- handle много&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Мм]но[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle немного, намного&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Нн][еа]мно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle до́рого [short form of дорогой, adverb]&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Дд]о[\204\129\204\128]?ро)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle недо́рого [short form of недорогой, adverb]&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Нн]едо[\204\129\204\128]?ро)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle стро́го&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Сс]тро[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle нестро́го&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Нн]естро[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle на́строго&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Нн]а[\204\129\204\128]?стро)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle убо́го&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Уу]бо[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle поло́го&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Пп]оло[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- check for neuter short forms of compound adjectives in -но́гий&lt;br /&gt;
			if rfind(text, &amp;quot;оно[\204\129\204\128]?го%f[^%a\204\129\204\128]&amp;quot;) then&lt;br /&gt;
				-- handle безно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Бб]езно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle босоно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Бб]осоно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle веслоно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Вв]еслоно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle длинноно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Дд]линноно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle двуно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Дд]вуно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle коротконо́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Кк]оротконо[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle кривоно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Кк]ривоно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle одноно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Оо]дноно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle пятино́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Пп]ятино[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle трёхно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Тт]р[ёе][\204\129\204\128]?хно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle хромоно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Хх]ромоно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle четвероно́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Чч]етвероно[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
				-- handle шестино́го&lt;br /&gt;
				text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Шш]естино[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			-- handle пе́го [short form of пе́гий &amp;quot;piebald&amp;quot;]&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Пп]е[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle лого, сого, ого&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([лсЛС]?[Оо][\204\129\204\128]?)г(о[\204\129\204\128]?)%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;%2&amp;quot;)&lt;br /&gt;
			-- handle Того, То́го (but not того or Того́, which have /v/)&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128](То́?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle лего&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Лл]е[\204\129\204\128]?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle игого, огого; note, we substitute TEMP_G for both г&amp;#039;s&lt;br /&gt;
			-- because otherwise the ого- at the beginning gets converted to ово&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([ИиОо])гог(о[\204\129\204\128]?)%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot; .. TEMP_G .. &amp;quot;%2&amp;quot;)&lt;br /&gt;
			-- handle Диего&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128](Дие́?)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle бо́лого&lt;br /&gt;
			text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Бб]о[\204\129\204\128]?ло)го%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о&amp;quot;)&lt;br /&gt;
			-- handle *ого-, *его- (e.g. бого-, снего-)&lt;br /&gt;
			text = rsub(text, &amp;quot;([ео][\204\129\204\128]?)го%-&amp;quot;, &amp;quot;%1&amp;quot; .. TEMP_G .. &amp;quot;о-&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		--handle genitive/accusative endings, which are spelled -ого/-его/-аго&lt;br /&gt;
		-- (-ogo/-ego/-ago) but transliterated -ovo/-evo/-avo; only for adjectives&lt;br /&gt;
		-- and pronouns, excluding words like много, ого (-аго occurs in&lt;br /&gt;
		-- pre-reform spelling); \204\129 is an acute accent, \204\128 is a grave accent&lt;br /&gt;
		local pattern = &amp;quot;([оеОЕ&amp;quot; .. (forceadj and &amp;quot;аА&amp;quot; or &amp;quot;&amp;quot;) .. &amp;quot;][\204\129\204\128]?)([гГ])([оО][\204\129\204\128]?)&amp;quot;&lt;br /&gt;
		local reflexive = &amp;quot;([сС][яЯ][\204\129\204\128]?)&amp;quot;&lt;br /&gt;
		text = rsub(text, pattern .. &amp;quot;%f[^%a\204\129\204\128]&amp;quot;, repl)&lt;br /&gt;
		text = rsub(text, pattern .. reflexive .. &amp;quot;%f[^%a\204\129\204\128]&amp;quot;, repl)&lt;br /&gt;
		-- handle сегодня&lt;br /&gt;
		text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Сс]е)г(о[\204\129\204\128]?дня)%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1в%2&amp;quot;)&lt;br /&gt;
		-- handle сегодняшн-&lt;br /&gt;
		text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Сс]е)г(о[\204\129\204\128]?дняшн)&amp;quot;, &amp;quot;%1в%2&amp;quot;)&lt;br /&gt;
		-- replace TEMP_G with g; must be done after the -go -&amp;gt; -vo changes&lt;br /&gt;
		text = rsub(text, TEMP_G, &amp;quot;г&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- the second half of the if-statement below is an optimization; see above.&lt;br /&gt;
	if not noshto and text:find(&amp;quot;то&amp;quot;) then&lt;br /&gt;
		local ch2sh = {[&amp;quot;ч&amp;quot;] = &amp;quot;ш&amp;quot;, [&amp;quot;Ч&amp;quot;] = &amp;quot;Ш&amp;quot;}&lt;br /&gt;
		-- Handle что&lt;br /&gt;
		text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Чч])(то[\204\129\204\128]?)%f[^%a\204\129\204\128]&amp;quot;,&lt;br /&gt;
			function(ch, to) return ch2sh[ch] .. to end)&lt;br /&gt;
		-- Handle чтобы, чтоб&lt;br /&gt;
		text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Чч])(то[\204\129\204\128]?бы?)%f[^%a\204\129\204\128]&amp;quot;,&lt;br /&gt;
			function(ch, to) return ch2sh[ch] .. to end)&lt;br /&gt;
		-- Handle ничто&lt;br /&gt;
		text = rsub(text, &amp;quot;%f[%a\204\129\204\128]([Нн]и)ч(то[\204\129\204\128]?)%f[^%a\204\129\204\128]&amp;quot;, &amp;quot;%1ш%2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Handle мягкий, лёгкий, легчать, etc.&lt;br /&gt;
	text = rsub(text, &amp;quot;([МмЛл][яеё][\204\129\204\128]?)г([кч])&amp;quot;, &amp;quot;%1х%2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	return origtext, text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Transliterate after the pronunciation-related transformations of&lt;br /&gt;
-- export.apply_tr_fixes() have been applied. Called from {{ru-IPA}}.&lt;br /&gt;
-- INCLUDE_MONOSYLLABIC_JO_ACCENT is as in export.tr().&lt;br /&gt;
function export.tr_after_fixes(text, include_monosyllabic_jo_accent)&lt;br /&gt;
	-- Remove word-final hard sign, either utterance-finally or followed by&lt;br /&gt;
	-- a non-letter character such as space, comma, period, hyphen, etc.&lt;br /&gt;
	text = rsub(text, &amp;quot;[Ъъ]$&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	text = rsub(text, &amp;quot;[Ъъ]([%A])&amp;quot;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- Convert apostrophe the hard sign between consonant and vowel (i.e.&lt;br /&gt;
	-- in the places where the hard sign normally occurs in modern text).&lt;br /&gt;
	-- Apostrophe is sometimes used to indicate the hard sign; this may have&lt;br /&gt;
	-- originated from the forcible removal of the hard sign from printing&lt;br /&gt;
	-- offices in the 1920&amp;#039;s, after the implementation of the Russian&lt;br /&gt;
	-- orthography reform. The if-statement is an optimization; see below.&lt;br /&gt;
	if rfind(text, &amp;quot;&amp;#039;&amp;quot;) then&lt;br /&gt;
		text = rsub(text, &amp;quot;(&amp;quot; .. consonants .. &amp;quot;)&amp;#039;([&amp;quot; .. lowercase_vowels .. &amp;quot;])&amp;quot;, &amp;quot;%1ъ%2&amp;quot;)&lt;br /&gt;
		text = rsub(text, &amp;quot;(&amp;quot; .. consonants .. &amp;quot;)&amp;#039;([&amp;quot; .. uppercase_vowels .. &amp;quot;])&amp;quot;, &amp;quot;%1Ъ%2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- the if-statement below isn&amp;#039;t necessary but may speed things up,&lt;br /&gt;
	-- particularly when include_monosyllabic_jo_accent isn&amp;#039;t set, in that&lt;br /&gt;
	-- in the majority of cases where ё doesn&amp;#039;t occur, we avoid a pattern find&lt;br /&gt;
	-- (in is_monosyllabic()) and three pattern subs. The translit module needs&lt;br /&gt;
	-- to be as fast as possible since it may be called hundreds or&lt;br /&gt;
	-- thousands of times on some pages.&lt;br /&gt;
	if rfind(text, &amp;quot;[Ёё]&amp;quot;) then&lt;br /&gt;
		-- We need to special-case ё after a &amp;quot;hushing&amp;quot; consonant, which becomes&lt;br /&gt;
		-- ó (or o), without j. We also need special cases for monosyllabic ё&lt;br /&gt;
		-- when INCLUDE_MONOSYLLABIC_JO_ACCENT isn&amp;#039;t set, so we don&amp;#039;t add the&lt;br /&gt;
		-- accent mark that we would otherwise include.&lt;br /&gt;
		if not include_monosyllabic_jo_accent and is_monosyllabic(text) and not rfind(text, &amp;quot;^%-&amp;quot;) then&lt;br /&gt;
			text = rsub(text, &amp;quot;([жшчщЖШЧЩ])ё&amp;quot;,&amp;quot;%1o&amp;quot;)&lt;br /&gt;
			text = text:gsub(&amp;quot;ё&amp;quot;, &amp;quot;jo&amp;quot;)&lt;br /&gt;
			text = text:gsub(&amp;quot;Ё&amp;quot;, &amp;quot;Jo&amp;quot;)&lt;br /&gt;
		else&lt;br /&gt;
			-- in a nonmonosyllabic word where there is a later stressed vowel&lt;br /&gt;
			-- in the same word (e.g. трёхэта́жный), don&amp;#039;t put an accent mark on ё.&lt;br /&gt;
			text = rsub(text, &amp;quot;ё([^ %-]-[&amp;quot; .. vowels .. &amp;quot;]́)&amp;quot;, &amp;quot;jo%1&amp;quot;)&lt;br /&gt;
			-- same goes if there are two ё&amp;#039;s in a word (трёхколёсный, четырёхзвёздный)&lt;br /&gt;
			text = rsub(text, &amp;quot;ё([^ %-]-ё)&amp;quot;, &amp;quot;jo%1&amp;quot;)&lt;br /&gt;
			-- same goes if this is a prefix (четырёх-)&lt;br /&gt;
			text = rsub(text, &amp;quot;ё([^ %-]-%-)$&amp;quot;, &amp;quot;jo%1&amp;quot;)&lt;br /&gt;
			-- same goes if there is a stressed vowel *followed* by ё (this is&lt;br /&gt;
			-- quite rare but occurs e.g. in А́ндзё &amp;quot;Anjō (city in Japan)&amp;quot;&lt;br /&gt;
			text = rsub(text, &amp;quot;([&amp;quot; .. vowels .. &amp;quot;]́[^ %-]-)ё&amp;quot;, &amp;quot;%1jo&amp;quot;)&lt;br /&gt;
			-- handle hushing consonant + ё + another accented vowel (e.g. шёлкопряди́льня)&lt;br /&gt;
			-- (already partly converted by previous regexes)&lt;br /&gt;
			text = rsub(text, &amp;quot;([жшчщЖШЧЩ])j&amp;quot;,&amp;quot;%1&amp;quot;)&lt;br /&gt;
			-- handle remaining cases of hushing consonant + ё&lt;br /&gt;
			text = rsub(text, &amp;quot;([жшчщЖШЧЩ])ё&amp;quot;,&amp;quot;%1ó&amp;quot;)&lt;br /&gt;
			-- conversion of remaining ё will occur as a result of &amp;#039;tab&amp;#039;.&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- ю after ж and ш becomes u (e.g. брошюра, жюри)&lt;br /&gt;
	text = rsub(text, &amp;quot;([жшЖШ])ю&amp;quot;,&amp;quot;%1u&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	-- the if-statement below isn&amp;#039;t necessary but may speed things up in that&lt;br /&gt;
	-- in the majority of cases where the letters below don&amp;#039;t occur, we avoid&lt;br /&gt;
	-- six pattern subs.&lt;br /&gt;
	if rfind(text, &amp;quot;[ЕеѢѣЭэ]&amp;quot;) then&lt;br /&gt;
		-- е after a dash at the beginning of a word becomes e, and э becomes ɛ&lt;br /&gt;
		-- (like after a consonant)&lt;br /&gt;
		text = rsub(text, &amp;quot;^(%-)([ЕеѢѣЭэ])&amp;quot;, map_to_plain_e)&lt;br /&gt;
		text = rsub(text, &amp;quot;(%s%-)([ЕеѢѣЭэ])&amp;quot;, map_to_plain_e)&lt;br /&gt;
		-- don&amp;#039;t get confused by single quote or parens between consonant and е;&lt;br /&gt;
		-- e.g. Б&amp;#039;&amp;#039;&amp;#039;ез&amp;#039;&amp;#039;&amp;#039;, американ(ец)&lt;br /&gt;
		text = rsub(text, &amp;quot;(&amp;quot; .. consonants .. &amp;quot;[&amp;#039;%(%)]*)([ЕеѢѣЭэ])&amp;quot;, map_to_plain_e)&lt;br /&gt;
&lt;br /&gt;
		-- This is now the default&lt;br /&gt;
		-- е after a vowel or at the beginning of a word becomes je, and э becomes e&lt;br /&gt;
		-- text = rsub(text, &amp;quot;^([ЕеѢѣЭэ])&amp;quot;, map_to_je)&lt;br /&gt;
		-- text = rsub(text, &amp;quot;(&amp;quot; .. non_consonants .. &amp;quot;)([ЕеѢѣЭэ])&amp;quot;, map_to_je)&lt;br /&gt;
		-- -- need to do it twice in case of sequences of such vowels&lt;br /&gt;
		-- text = rsub(text, &amp;quot;^([ЕеѢѣЭэ])&amp;quot;, map_to_je)&lt;br /&gt;
		-- text = rsub(text, &amp;quot;(&amp;quot; .. non_consonants .. &amp;quot;)([ЕеѢѣЭэ])&amp;quot;, map_to_je)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	text = (rsub(text,&amp;#039;.&amp;#039;,tab))&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Transliterates text, which should be a single word or phrase. It should&lt;br /&gt;
-- include stress marks, which are then preserved in the transliteration.&lt;br /&gt;
-- ё is a special case: it is rendered (j)ó in multisyllabic words and&lt;br /&gt;
-- monosyllabic words in multi-word phrases, but rendered (j)o without an&lt;br /&gt;
-- accent in isolated monosyllabic words, unless INCLUDE_MONOSYLLABIC_JO_ACCENT&lt;br /&gt;
-- is specified. (This is used in conjugation and declension tables.)&lt;br /&gt;
-- NOADJ disables special-casing for adjectives in -го, while FORCEADJ forces&lt;br /&gt;
-- special-casing for adjectives and disables checking for exceptions&lt;br /&gt;
-- (e.g. много). NOSHTO disables special-casing for что and related words.&lt;br /&gt;
function export.tr(text, lang, sc, include_monosyllabic_jo_accent, noadj, noshto, forceadj)&lt;br /&gt;
	local origtext, subbed_text = export.apply_tr_fixes(text, noadj, noshto, forceadj)&lt;br /&gt;
	return export.tr_after_fixes(subbed_text, include_monosyllabic_jo_accent)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- translit with various special-case substitutions; NOADJ disables&lt;br /&gt;
-- special-casing for adjectives in -го, while FORCEADJ forces special-casing&lt;br /&gt;
-- for adjectives and disables checking for expections (e.g. много).&lt;br /&gt;
-- NOSHTO disables special-casing for что and related words. SUB is used&lt;br /&gt;
-- to implement arbitrary substitutions in the Cyrillic text before other&lt;br /&gt;
-- transformations are applied and before translit. It is of the form&lt;br /&gt;
-- FROM/TO,FROM/TO,...&lt;br /&gt;
function export.tr_sub(text, include_monosyllabic_jo_accent, noadj, noshto, sub,&lt;br /&gt;
	forceadj)&lt;br /&gt;
	if type(text) == &amp;#039;table&amp;#039; then -- called directly from a template&lt;br /&gt;
		include_monosyllabic_jo_accent = ine(text.args.include_monosyllabic_jo_accent)&lt;br /&gt;
		noadj = ine(text.args.noadj)&lt;br /&gt;
		noshto = ine(text.args.noshto)&lt;br /&gt;
		sub = ine(text.args.sub)&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if sub then&lt;br /&gt;
		local subs = rsplit(sub, &amp;quot;,&amp;quot;)&lt;br /&gt;
		for _, subpair in ipairs(subs) do&lt;br /&gt;
			local subsplit = rsplit(subpair, &amp;quot;/&amp;quot;)&lt;br /&gt;
			text = rsub(text, subsplit[1], subsplit[2])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return export.tr(text, nil, nil, include_monosyllabic_jo_accent, noadj, noshto, forceadj)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--for adjectives, pronouns&lt;br /&gt;
function export.tr_adj(text, include_monosyllabic_jo_accent)&lt;br /&gt;
	if type(text) == &amp;#039;table&amp;#039; then -- called directly from a template&lt;br /&gt;
		include_monosyllabic_jo_accent = ine(text.args.include_monosyllabic_jo_accent)&lt;br /&gt;
		text = text.args[1]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- we have to include &amp;quot;forceadj&amp;quot; because typically when tr_adj() is called&lt;br /&gt;
	-- from the noun or adjective modules, it&amp;#039;s called with suffix ого, which&lt;br /&gt;
	-- would otherwise trigger the exceptional case and be transliterated as ogo&lt;br /&gt;
	return export.tr(text, nil, nil, include_monosyllabic_jo_accent, false,&lt;br /&gt;
		&amp;quot;noshto&amp;quot;, &amp;quot;forceadj&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;br /&gt;
&lt;br /&gt;
-- For Vim, so we get 4-space tabs&lt;br /&gt;
-- vim: set ts=4 sw=4 noet:&lt;/div&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
</feed>