Module:Translations: Difference between revisions

From Terra Nostra
No edit summary
No edit summary
Line 11: Line 11:
if s_bang then
if s_bang then
l_name = mw.ustring.sub(l_name, s_bang + 1)
l_name = mw.ustring.sub(l_name, s_bang + 1)
l_page = mw.ustring.sub(l_name, 1, s_bang - 1)
else
else
if mw.ustring.lower(mw.ustring.sub(l_name, 1, 10)) == "wikipedia:" then
if mw.ustring.lower(mw.ustring.sub(l_name, 1, 10)) == "wikipedia:" then

Revision as of 01:25, 9 September 2024

Documentation for this module may be created at Module:Translations/doc

local p = {}

function p.show(frame)
	local args = frame:getParent().args
	html = ""
	for l_name, l_value in pairs(args) do
		if mw.ustring.sub(l_name, 1, 1) == "[" and mw.ustring.sub(l_name, -1, -1) == "]" then
			l_name = mw.ustring.sub(l_name, 2, -2)
			l_page = l_name
			s_bang = mw.ustring.find(l_name, "!")
			if s_bang then
				l_name = mw.ustring.sub(l_name, s_bang + 1)
				l_page = mw.ustring.sub(l_name, 1, s_bang - 1)
			else
				if mw.ustring.lower(mw.ustring.sub(l_name, 1, 10)) == "wikipedia:" then
					l_name = mw.ustring.sub(l_name, 11)
				end
				if mw.ustring.sub(l_name, -8) == "language" then
					l_name = mw.ustring.sub(l_name, 1, -10)
				end
			end
			l_link = "[[" .. l_page .. "|" .. l_name .. "]]"
		else
			l_link = l_name
		end
		html = html .. "<li>" .. l_link .. ": " .. l_value .. "</li>\n"
	end
	return "<ul>\n" .. html .. "</ul>"
end

return p