Module:User:Erutuon/11

From Wiktionary, the free dictionary
Jump to navigation Jump to search

This is a private module sandbox of Erutuon, for his own experimentation. Items in this module may be added and removed at Erutuon's discretion; do not rely on this module's stability.


local export = {}

local modules = {
	"Module:User:Erutuon/hbo-translit",
	"Module:User:Erutuon/he-translit-omit-nonconsonantal",
	"Module:User:Erutuon/he-translit-superscript",
	"Module:User:Erutuon/he-translit-circumflex",
}

local translit_functions = {}
for _, module in ipairs(modules) do
	table.insert(translit_functions, require(module).transliterate)
end

local full_link = require('Module:links').full_link
local lang = require('Module:languages').getByCode('he')
local sc = require('Module:scripts').getByCode('Hebr')
local function link(term)
	return full_link{lang = lang, sc = sc, term = term}
end


function export.show(frame)
	local args = frame.args
	local Array = require "Module:array"
	local output = Array()
	local top = '{| class="wikitable"\n! word'
	for _, module in ipairs(modules) do
		top = top .. " !! [[" .. module .. "]]"
	end
	output:insert(top)
	for _, word in ipairs(args) do
		word = mw.text.trim(word)
		local row = Array()
		row:insert((link(word):gsub("‎", "")))
		for _, func in ipairs(translit_functions) do
			row:insert(func(word))
		end
		output:insert("|-\n| " .. row:concat " || ")
	end
	output:insert "|}"
	return output:concat "\n"
end

return export