Модул:Cans-translit/sandbox

Документација модула[прикажи] [уреди] [историја] [освежи]
За овај шаблон потребна документација.
Please document this template by describing its purpose and usage on the documentation page.

local export = {}

local data = {
	{ --short-vowel
		"ᐁᐃᐅᐊᐯᐱᐳᐸᑌᑎᑐᑕᑫᑭᑯᑲᒉᒋᒍᒐᒣᒥᒧᒪᓀᓂᓄᓇᓭᓯᓱᓴᔦᔨᔪᔭᖊᖋᖌᖍᕃᕆᕈᕍᕂᕄᕊᕋᔐᔑᔓᔕᕓᕕᕗᕙᕞᕠᕤᕦᘚᘛᘕᘔᓓᓕᓗᓚᙯᕿᖁᖃᙰᖏᖑᖓ ᙱᙳᙵᕴᕵᕷᕹ",
		"1ptkcmnsyrrršfðzlq23h",
		{"","ng","nng"},
		"eioa",
		function(a,b)
			return a..b
		end
	},
	{ --w
		"ᐌᐍᐎᐏᐒᐓᐗᐘᐺᐻᐼᐽᑀᑁᑄᑅᑗᑘᑙᑚᑝᑞᑡᑢᑴᑵᑶᑷᑺᑻᑾᑿᒒᒓᒔᒕᒘᒙᒜᒝᒬᒭᒮᒯᒲᒳᒶᒷ"
			.. "ᓉᓊ  ᓋᓌ  ᓶᓷᓸᓹᓼᓽᔀᔁᔯᔰᔱᔲᔵᔶᔹᔺᔗᔘᔙᔚᔝᔞᔡᔢᓜᓝᓞᓟᓢᓣᓦᓧ",
		"1ptkcmnsyrz",
		{""},
		"eeiiooaa",
		function(a,b)
			return a..'w'..b
		end
	},
	{ --long-vowel
		"ᐄᐆᐋᐲᐴᐹᑏᑑᑖᑮᑰᑳᒌᒎᒑᒦᒨᒫᓃᓅᓈᓰᓲᓵᔩᔫᔮᕇᕉᕌᔒᔔᔖᕖᕘᕚᕢᕥᕧᓖᓘᓛᐐᐔᐙᖀᖂᖄᕶᕸᕺ",
		"1ptkcmnsyršfðlwqh",
		{""},
		"īōā",
		function(a,b)
			return a..b
		end
	},
	{ --w-long
		"ᐐᐑᐔᐕᐖᐙᐚᐛᐾᐿᑂᑃ ᑆᑇᑈᑛᑜᑟᑠ ᑣᑤᑥᑸᑹᑼᑽ ᒀᒁᒂᒖᒗᒚᒛ ᒞᒟᒠᒰᒱᒴᒵ ᒸᒹᒺ     ᓍᓎᓏ"
			.. "ᓠᓡᓤᓥ ᓨᓩ ᓺᓻᓾᓿ ᔂᔃᔄᔛᔜᔟᔠ ᔣᔤ ᔳᔴᔷᔸ ᔻᔼᔽ     ᕎᕏ      ᕛᕜ      ᕨᕩ ",
		"1ptkcmnlsšyrfð",
		{""},
		"īīōōōāāā",
		function(a,b)
			return a..'w'..b
		end
	},
	{ --individual
		"ᑊᐟᐠᐨᒼᐣᐢᐧᐤᐦᕁᕽᓫᕑᑉᑦᒡᒃᒻᓐᔅᔥᔾᓪᕐᕪ‡ᒄᔉᖅᖕᖖᕝᖦᕀᕻᕼ",
		"ptkcmnsywh11lrptckmnsšylrðð23q45vlyhh",
		{"hk","kw","sk","ng","nng"},
	},
}

--[[
function export.tr(text, lang, sc)
	for i, item in pairs(data) do
		if item[4] then
			local length = mw.ustring.len(item[4])
			for c = 1, mw.ustring.len(item[1]) do
				local s = mw.ustring.sub(item[1], c, c)
				local index = math.ceil(c / length)
				local a = mw.ustring.sub(item[2], index, index)
				if tonumber(a) then
					a = item[3][tonumber(a)]
				end
				index = (c - 1) % length + 1
				local b = mw.ustring.sub(item[4], index, index)
				if s ~= " " then
					text = mw.ustring.gsub(text, s, item[5](a,b))
				end
			end
		else
			for c = 1, mw.ustring.len(item[1]) do
				local s = mw.ustring.sub(item[1], c, c)
				local a = mw.ustring.sub(item[2], c, c)
				if tonumber(a) then
					a = item[3][tonumber(a)]
				end
				text = mw.ustring.gsub(text, s, a)
			end
		end
	end
	return text
end
]]

function export.show(frame)
	local dump = require('Module:debug').highlight_dump
	local restructured = {}
	
	for i, item in pairs(data) do
		if not item[4] then
			local subtable = {}
			for c = 1, mw.ustring.len(item[1]) do
				local s = mw.ustring.sub(item[1], c, c)
				local a = mw.ustring.sub(item[2], c, c)
				if tonumber(a) then
					a = item[3][tonumber(a)]
				end
				table.insert(subtable, { s, a })
			end
			restructured[i] = subtable
		end
	end
	return dump(restructured)
end

return export