Modul:Cyrs-Glag-translit

Üdvözlöm, Ön a Modul:Cyrs-Glag-translit szó jelentését keresi. A DICTIOUS-ban nem csak a Modul:Cyrs-Glag-translit szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a Modul:Cyrs-Glag-translit szót egyes és többes számban mondani. Minden, amit a Modul:Cyrs-Glag-translit szóról tudni kell, itt található. A Modul:Cyrs-Glag-translit szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. AModul:Cyrs-Glag-translit és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.

A modult a Modul:Cyrs-Glag-translit/doc lapon tudod dokumentálni

local export = {}

local letters = {}
local digraphs = {}

local double_grave = mw.ustring.char(0x30F)

letters = {
	='A', ='a',
	='B', ='b',
	='V', ='v',
	='G', ='g', 
	='D', ='d',
	='E', ='e', ='E', ='e', 
	='Ž', ='ž',
	='Dz', ='dz', ='Dz', ='dz',
	='Z', ='z', ='Z', ='z',
	='I', ='i', ='I', ='i', ='I', ='i', ='Ì', ='ì',
	='Đ', ='đ',
	='K', ='k',
	='L', ='l', 
	='M', ='m',
	='N', ='n',
	='O', ='o', ='O', ='o', ='Otŭ', ='otŭ', ='O', ='o', ='O', ='o', ='O', ='o', ='o', ='O', ='o',
	='P', ='p', 
	='R', ='r',
	='S', ='s',
	='T', ='t',
	='U', ='u', ='U', ='u', ='U', ='u',
	='F', ='f',
	='X', ='x',
	
	='C', ='c',
	='Č', ='č', 
	='Š', ='š',
	-- For Щ see below
	='Ŭ', ='ŭ',
	='Y', ='y', ='Y', ='y',
	='Ĭ', ='ĭ',
	='Ě', ='ě',
	
	='Ju', ='ju', 
	='Ja', ='ja', ='Ja', ='ja',
	='Je', ='je',
	='Ę', ='ę',
	='Ję', ='ję',
	='Ǫ', ='ǫ',
	='Jǫ', ='jǫ',
	='Jě', ='jě',
	
	='Ks', ='ks',
	='Ps', ='ps',
	='Θ', ='θ',
	='Ü', ='ü', ='Ü' .. double_grave, ='ü' .. double_grave,
	-- newer letters
	='J', ='j', -- starting from 15th century
}

digraphs = {
	"]="U", "]="u",
	"]="Y", ="y",
}

letters = {
	='A', ='a', ='A', ='a',
	='B', ='b',
	='V', ='v',
	='G', ='g', 
	='D', ='d',
	='E', ='e',
	='Ž', ='ž',
	='Dz', ='dz',
	='Z', ='z',
	='I', ='i', ='I', ='i', ='I', ='i',
	='Đ', ='đ',
	='K', ='k',
	='L', ='l', 
	='M', ='m', ='M', ='m',
	='N', ='n',
	='O', ='o', ='O', ='o',
	='P', ='p', 
	='R', ='r',
	='S', ='s',
	='T', ='t',
	='U', ='u', 
	='F', ='f',
	='X', ='x', ='X', ='x',
	
	='C', ='c',
	='Č', ='č', 
	='Š', ='š',
	-- For Ⱋ see below
	='Ŭ', ='ŭ',
	='Ĭ', ='ĭ', ='Ĭ', ='ĭ',
	='Ě', ='ě',
	
	='Ju', ='ju', 
	='Ę', ='ę',
	='Y̨', ='y̨',
	='Ję', ='ję',
	='Ǫ', ='ǫ', ='Ǫ', ='ǫ',
	='Jǫ', ='jǫ',
	
	='Θ', ='θ',
	='Ü', ='ü',
}

digraphs = {
	"]="Y", "]="y",
}

function export.tr(text, lang, sc)
	if not sc then
		sc = require("Module:scripts").findBestScript(text,
			require("Module:languages").getByCode(lang)):getCode()
	end
	
	-- Щ was pronounced differently in Old East Slavic
	if lang == "orv" then
		letters='Šč'
		letters='šč'
		letters='Šč'
		letters='šč'
	else
		letters='Št'
		letters='št'
		letters='Št'
		letters='št'
	end
	
	-- Transliterate the kamora as prime
	text = string.gsub(text, "\210\132", "ʹ")
	
	if sc == "Cyrs" or sc == "Glag" then
		for key, repl in pairs(digraphs) do
			text = mw.ustring.gsub(text, key, repl)
		end
		
		-- pattern for one non-ASCII character
		text = string.gsub(text, '+', letters)
	else
		-- error("This module can only transliterate Old Cyrillic (Cyrs) and Glagolitic (Glag).")
	end

	return text
end

return export