Kontent qismiga oʻtish

Modul:jbo-etym

Vikilug‘atdan olingan

Bu modul uchun Modul:jbo-etym/doc nomli hujjat sahifasini yaratishingiz mumkin

local export = {}

function export.show(frame)
	local args = frame:getParent().args
	
	return
		"''In Lojbanized spelling.''" ..
		append(args, "zh") ..
		append(args, "en") ..
		append(args, "hi") ..
		append(args, "es") ..
		append(args, "ru") ..
		append(args, "ar")
end

function append(args, code)
	local ret = ""
	
	if args[code] then
		local lang = require("Module:languages").getByCode(code)
		ret = ret .. "\n* " .. lang:getCanonicalName() .. ": " .. args[code]
		
		if args[code .. '_t'] then
			local m_links = require("Module:links")
			
			ret = ret ..  " — ".. m_links.full_link({lang = lang, term = args[code .. '_t'], tr = (args[code..'_tr'] and "")}, nil, true)
			
			-- It seems full_link({term="類"}) now produces something like "類/类" already,
			-- and this is causing jbo-etym to emit simplified forms twice, like "類/类/类 (lèi) (lèi)"
			-- so let's try skipping handling of '_s'.

			-- if args[code .. '_s'] then
			-- 	ret = ret .. "/" .. m_links.full_link({lang = lang, term = args[code .. '_s']}, nil, true)
			-- end
			
			if args[code..'_tr'] then
				if mw.ustring.find(args[code .. '_tr'],'[%[%](){}]') then error('unauthorized characters') end
				ret = ret .. " (" .. args[code .. '_tr'] .. ")"
			end
		end
	end
	
	return ret
end

return export