Module:ba-translit

Hello, you have come here looking for the meaning of the word Module:ba-translit. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:ba-translit, but we will also tell you about its etymology, its characteristics and you will know how to say Module:ba-translit in singular and plural. Everything you need to know about the word Module:ba-translit you have here. The definition of the word Module:ba-translit will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:ba-translit, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module will transliterate Bashkir language text per WT:BA TR. The module should preferably not be called directly from templates or other modules. To use it from a template, use {{xlit}}. Within a module, use Module:languages#Language:transliterate.

For testcases, see Module:ba-translit/testcases.

Functions

tr(text, lang, sc)
Transliterates a given piece of text written in the script specified by the code sc, and language specified by the code lang.
When the transliteration fails, returns nil.

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',  ="x", ='X',
	="ç",  ='Ç',  ="şç", ='Şç', ="ya", ='Ya', ="ı",  ='I',  ="e", ='E', 
	="m",  ='M',  ="o",  ='O',  ="i",  ='İ',  ="yo", ='Yo', ="j", ='j',
	="k",  ='K',  ="d",  ='D',  ="v",  ='V',  ="ts", ='Ts', ="a", ='A',
	="ñ",  ='Ñ',  ="ğ",  ='Ğ',  ="ź",  ='Ź',  ="q",  ='Q',  ="ś", ='Ś',
	="h",  ='H',  ="ə",  ='Ə'
};

local iotated = {
	 = 'ye',
	 = 'Ye',
}

function export.tr(text, lang, sc)
	local str_gsub = string.gsub
	local ugsub = mw.ustring.gsub
	-- ү/у should be transliterated as w before uniotated vowels and after all vowels
	text = ugsub(text, "()", "%1w")
	text = ugsub(text, "()", "w%1")
	
	text = ugsub(text,
			"(?)()",
			function(a, e)
				return a .. iotated
			end)
	text = ugsub(text,
		"^",
		iotated)
	text = str_gsub(text, '*', tt)

	return text
end

return export