Module:IPA: Difference between revisions

From Laenkea
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
function export.show(frame)
function export.show(frame)
local args = require("Module:parameters").process(frame:getParent().args, params)
local args = require("Module:parameters").process(frame:getParent().args, params)
local language = require("Module:languages").get_by_code(args["l"])
local language = require("Module:languages").get_by_code(args[1])
if language == nil then
if language == nil then
error("No such language: " .. args["l"])
error("No such language: " .. args[1])
end
end
local language_pron = "Appendix:" .. language.name .. "_pronunciation"
local language_pron = "Appendix:" .. language.name .. "_pronunciation"
Line 18: Line 18:
local class = "IPA"
local class = "IPA"
if args["nolarge"] then class = class .. " nolarge" end
if args["nolarge"] then class = class .. " nolarge" end
for i, i_ipa in ipairs(args["ipa"]) do
for i, i_ipa in ipairs(args[2]) do
if i > 1 then out = out .. ", " end
if i > 1 then out = out .. ", " end
out = out .. '<span class="' .. class .. '">'
out = out .. '<span class="' .. class .. '">'

Revision as of 16:17, 9 February 2024

{{IPA}}


local export = {}
local params = {
	[1] = {},
	[2] = {list = true},
	nolarge = {type = "boolean"},
	linked = {type = "boolean"},
}

function export.show(frame)
	local args = require("Module:parameters").process(frame:getParent().args, params)
	local language = require("Module:languages").get_by_code(args[1])
	if language == nil then
		error("No such language: " .. args[1])
	end
	local language_pron = "Appendix:" .. language.name .. "_pronunciation"
	out = "[[w:International_Phonetic_Alphabet|IPA]]"
	out = out .. "<sup>([[" .. language_pron .. "|key]])</sup>:&nbsp;"
	local class = "IPA"
	if args["nolarge"] then class = class .. " nolarge" end
	for i, i_ipa in ipairs(args[2]) do
		if i > 1 then out = out .. ", " end
		out = out .. '<span class="' .. class .. '">'
		if args["linked"] then
			out = out .. "[[" .. language_pron .. "|" .. i_ipa .. "]]"
		else
			out = out .. i_ipa
		end
		out = out .. "</span>"
	end
	return out
end

return export