Module:Translations: Difference between revisions

From Terra Nostra
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 8: Line 8:
l_name = mw.ustring.sub(l_name, 2, -2)
l_name = mw.ustring.sub(l_name, 2, -2)
l_page = l_name
l_page = l_name
if mw.ustring.lower(mw.ustring.sub(l_name, 1, 10)) == "wikipedia:" then
s_bang = mw.ustring.find(l_name, "!")
l_name = mw.ustring.sub(l_name, 11)
if s_bang then
end
l_name = mw.ustring.sub(l_name, s_bang + 1)
if mw.ustring.sub(l_name, -8) == "language" then
l_page = mw.ustring.sub(l_page, 1, s_bang - 1)
l_name = mw.ustring.sub(l_name, 1, -10)
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
end
l_link = "[[" .. l_page .. "|" .. l_name .. "]]"
l_link = "[[" .. l_page .. "|" .. l_name .. "]]"

Latest 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_page, 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