Module:ky-translit/sandbox

local export = {}

local tt = { ["ү"]="ü",['Ү']='Ü',  ["т"]="t",['Т']='T', ["р"]="r",['Р']='R',   ["ф"]="f",['Ф']='F', ["ө"]="ö",['Ө']='Ö', ["ю"]="yu",['Ю']='Yu', ["ш"]="ş",['Ш']='Ş', ["ь"]="ʹ",['Ь']='ʹ',  ["ъ"]="ʺ",['Ъ']='ʺ', ["н"]="n",['Н']='N', ["п"]="p",['П']='P',  ["й"]="y",['Й']='Y', ["л"]="l",['Л']='L',   ["з"]="z",['З']='Z', ["е"]="e",['Е']='E', ["г"]="g",['Г']='G',  ["б"]="b",['Б']='B', ["у"]="u",['У']='U',   ["с"]="s",['С']='S', ["х"]="h",['Х']='H', ["ч"]="ç",['Ч']='Ç', ["щ"]="şç",['Щ']='Şç', ["я"]="ya",['Я']='Ya', ["ы"]="ı",['Ы']='I', ["э"]="e",['Э']='E', ["м"]="m",['М']='M',  ["о"]="o",['О']='O', ["и"]="i",['И']='İ', ["ё"]="yo",['Ё']='Yo', ["ж"]="j",['Ж']='J', ["к"]="k",['К']='K',  ["д"]="d",['Д']='D', ["в"]="v",['В']='V', ["ц"]="ts",['Ц']='Ts', ["а"]="a",['А']='A', ["ң"]="ŋ",['Ң']='Ŋ' };

function export.tr(text, lang, sc) if sc == "Arab" then return nil end text = mw.ustring.gsub(	 text,	  "([Ии])([Кк])",	  function(n,k)	    return n .. ( k == 'к' and 'k' or 'K' )	  end	) text = mw.ustring.gsub(	 text,	  "([Нн])([Кк])([Кк])",	  function(n,k1,k2)	    return n .. k1 .. ( k2 == 'к' and 'k' or 'K' )	  end	) text = mw.ustring.gsub(	 text,	  "([Кк])([Цц])",	  function(k,c)	    return ( k == 'к' and 'k' or 'K' ) .. c	  end	) text = mw.ustring.gsub(	 text,	  "([Кк])([ОАЫУоаыу])",	  function(c,v)	    return ( c == 'к' and 'q' or 'Q' ) .. v	  end	) text = mw.ustring.gsub(	 text,	  "([ОАЫУЯЮЁоаыуяюё])([Кк])",	  function(v,c)	    return v .. ( c == 'к' and 'q' or 'Q' )	  end	) text = mw.ustring.gsub(	 text,	  "([АОЫУаоыу])([ҢРЛңрл])([Кк])",	  function(v,c,q)	    return v .. c .. ( q == 'к' and 'q' or 'Q' )	  end	) text = mw.ustring.gsub(		text,		"([АОӨҮУЫЕЯЁЮИЕаоөүуыэяёюиеъь%A][́̀]?)([Ее])",		function(a,e)			return a .. ( e == 'е' and 'ye' or 'Ye' )		end	) :gsub("^Е",'Ye') :gsub("^е",'ye'); return (mw.ustring.gsub(text, '.', tt)) end

return export