Module:lzz-translit

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

This module will transliterate Laz language text per WT:LZZ 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:lzz-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 m_str_utils = require("Module:string utilities")

local codepoint = m_str_utils.codepoint
local gsub = m_str_utils.gsub
local u = m_str_utils.char
local upper = m_str_utils.upper

local export = {}

local tt = {
	="a", ="b", ="g", ="d", ="e", ="v", ="z",
	="t", ="i", ="ǩ", ="l", ="m", ="n", ="y", ="o",
	="p̌", ="j", ="r", ="s", ="ť", ="u", ="p",
	="k", ="ğ", ="q", ="ş", ="ç", ="ʒ",
	="ż", ="ǯ", ="ç̌", ="x", ="c", ="h", ="f", 
};

function export.tr(text, lang, sc)

	-- Transliterate uppercase characters from the Georgian Extended block as
	-- the uppercase version of the transliteration of the lowercase  characters
	-- from the Georgian block.
	-- U+10D0: start of Georgian block
	-- U+1C90: start of Georgian Extended block
	text = gsub(
		text,
		'',
		function (char)
			local translit = tt
			return translit and upper(translit)
		end)
	text = gsub(text, '.', tt)
	return text
end

return export