mosadi
Sesotho
[fetola]Semelo
[fetola]E tswang ho
- local export = {}
local m_IPA = require("Module:IPA") local parameter_utilities_module = "Module:parameter utilities"
local function track(template, page) require("Module:debug/track")(template .. "/" .. page) return true end
-- Used for Template:IPA. function export.IPA(frame) local parent_args = frame:getParent().args -- Track uses of n so they can be converted to ref. -- Track uses of qual so they can be converted to q. for k, v in pairs(parent_args) do if type(k) == "string" and k:find("^qual[0-9]*$") then track("IPA", "q") end end local include_langname = frame.args.include_langname local compat = parent_args.lang local offset = compat and 0 or 1 local lang_arg = compat and "lang" or 1
local params = { [lang_arg] = {required = true, type = "language", default = "en"}, [1 + offset] = {list = true, disallow_holes = true}, -- Deprecated; don't use in new code. ["qual"] = {list = true, allow_holes = true, separate_no_index = true, alias_of = "q"}, ["nocount"] = {type = "boolean"}, ["nocat"] = {type = "boolean"}, ["sort"] = {}, }
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods { {group = {"ref", "a", "q"}}, {group = "link", include = {"t", "gloss", "pos"}}, }
local items, args = m_param_utils.process_list_arguments { params = params, param_mods = param_mods, raw_args = parent_args, termarg = 1 + offset, term_dest = "pron", track_module = "IPA", }
local lang = args[lang_arg]
for _, item in ipairs(items) do require("Module:IPA/tracking").run_tracking(item.pron, lang) end
local data = { lang = lang, items = items, no_count = args.nocount, nocat = args.nocat, sort_key = args.sort, include_langname = include_langname, q = args.q.default, qq = args.qq.default, a = args.a.default, aa = args.aa.default, }
return m_IPA.format_IPA_full(data) end
-- Used for Template:IPAchar. function export.IPAchar(frame) local parent_args = frame.getParent and frame:getParent().args or frame -- Track uses of n so they can be converted to ref. -- Track uses of qual so they can be converted to q. for k, v in pairs(parent_args) do if type(k) == "string" and k:find("^n[0-9]*$") then track("IPAchar", "n") end if type(k) == "string" and k:find("^qual[0-9]*$") then track("IPAchar", "q") end end
local params = { [1] = {list = true, disallow_holes = true}, -- FIXME, remove this. ["lang"] = {}, -- This parameter is not used and does nothing, but is allowed for futureproofing. }
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods { -- It doesn't really make sense to have separate overall a=/aa=/q=/qq= for Template:IPAchar, which doesn't format a -- whole line but just individual pronunciations. Instead they are associated with the first item. {group = {"ref", "a", "q"}, separate_no_index = false}, -- Deprecated; don't use in new code. {param = "qual", alias_of = "q"}, }
local items, args = m_param_utils.process_list_arguments { params = params, param_mods = param_mods, raw_args = parent_args, termarg = 1, term_dest = "pron", track_module = "IPAchar", }
-- Special:WhatLinksHere/Wiktionary:Tracking/IPAchar/lang if args.lang then track("IPAchar", "lang") end
-- Format return m_IPA.format_IPA_multiple(nil, items) end
function export.XSAMPA(frame) local params = { [1] = { required = true }, } local args = require("Module:parameters").process(frame:getParent().args, params)
return m_IPA.XSAMPA_to_IPA(args[1] or "[Eg'zA:mp5=]") end
-- Used by Template:X2IPA function export.X2IPAtemplate(frame) local parent_args = frame.getParent and frame:getParent().args or frame local compat = parent_args["lang"] local offset = compat and 0 or 1
local params = { [compat and "lang" or 1] = {required = true, default = "und"}, [1 + offset] = {list = true, allow_holes = true}, ["ref"] = {list = true, allow_holes = true}, ["a"] = {list = true, allow_holes = true, separate_no_index = true}, ["aa"] = {list = true, allow_holes = true, separate_no_index = true}, ["q"] = {list = true, allow_holes = true, separate_no_index = true}, ["qq"] = {list = true, allow_holes = true, separate_no_index = true}, ["qual"] = {list = true, allow_holes = true}, ["nocount"] = {type = "boolean"}, ["sort"] = {}, }
local args = require("Module:parameters").process(parent_args, params)
local m_XSAMPA = require("Module:IPA/X-SAMPA")
local pronunciations, refs, a, aa, q, qq, qual, lang = args[1 + offset], args.ref, args.a, args.aa, args.q, args.qq, args.qual, args[compat and "lang" or 1]
local output = {} table.insert(output, "{{IPA")
table.insert(output, "|" .. lang)
if a.default then table.insert(output, "|a=" .. a.default) end if q.default then table.insert(output, "|q=" .. q.default) end for i = 1, math.max(pronunciations.maxindex, refs.maxindex, a.maxindex, aa.maxindex, q.maxindex, qq.maxindex, qual.maxindex) do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end if a[i] then table.insert(output, "|a" .. i .. "=" .. a[i]) end if aa[i] then table.insert(output, "|aa" .. i .. "=" .. aa[i]) end if q[i] then table.insert(output, "|q" .. i .. "=" .. q[i]) end if qq[i] then table.insert(output, "|qq" .. i .. "=" .. qq[i]) end if refs[i] then table.insert(output, "|ref" .. i .. "=" .. refs[i]) end if qual[i] then table.insert(output, "|qual" .. i .. "=" .. qual[i]) end end if aa.default then table.insert(output, "|aa=" .. aa.default) end if qq.default then table.insert(output, "|qq=" .. qq.default) end if args.nocount then table.insert(output, "|nocount=1") end if args.sort then table.insert(output, "|sort=" .. args.sort) end
table.insert(output, "}}")
return table.concat(output) end
-- Used by Template:X2IPAchar function export.X2IPAchar(frame) local params = { [1] = { list = true, allow_holes = true }, ["ref"] = {list = true, allow_holes = true}, ["q"] = {list = true, allow_holes = true, require_index = true}, ["qq"] = {list = true, allow_holes = true, require_index = true}, ["qual"] = { list = true, allow_holes = true }, -- FIXME, remove this. ["lang"] = {}, }
local args = require("Module:parameters").process(frame:getParent().args, params)
-- Special:WhatLinksHere/Wiktionary:Tracking/X2IPAchar/lang if args.lang then track("X2IPAchar", "lang") end
local m_XSAMPA = require("Module:IPA/X-SAMPA")
local pronunciations, refs, q, qq, qual, lang = args[1], args.ref, args.q, args.qq, args.qual, args.lang
local output = {} table.insert(output, "{{IPAchar")
for i = 1, math.max(pronunciations.maxindex, refs.maxindex, q.maxindex, qq.maxindex, qual.maxindex) do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end if q[i] then table.insert(output, "|q" .. i .. "=" .. q[i]) end if qq[i] then table.insert(output, "|qq" .. i .. "=" .. qq[i]) end if qual[i] then table.insert(output, "|qual" .. i .. "=" .. qual[i]) end if refs[i] then table.insert(output, "|ref" .. i .. "=" .. refs[i]) end end
if lang then table.insert(output, "|lang=" .. lang) end
table.insert(output, "}}")
return table.concat(output) end
-- Used by Template:x2rhymes function export.X2rhymes(frame) local parent_args = frame.getParent and frame:getParent().args or frame local compat = parent_args["lang"] local offset = compat and 0 or 1
local params = { [compat and "lang" or 1] = {required = true, default = "und"}, [1 + offset] = {required = true, list = true, allow_holes = true}, }
local args = require("Module:parameters").process(parent_args, params)
local m_XSAMPA = require("Module:IPA/X-SAMPA")
pronunciations, lang = args[1 + offset], args[compat and "lang" or 1]
local output = {} table.insert(output, "{{rhymes")
table.insert(output, "|" .. lang)
for i = 1, pronunciations.maxindex do if pronunciations[i] then table.insert(output, "|" .. m_XSAMPA.XSAMPA_to_IPA(pronunciations[i])) end end
table.insert(output, "}}")
return table.concat(output) end
-- Used for Template:enPR. function export.enPR(frame) local parent_args = frame:getParent().args
local params = { [1] = {list = true, disallow_holes = true}, }
local m_param_utils = require(parameter_utilities_module)
local param_mods = m_param_utils.construct_param_mods { {group = {"q", "a", "ref"}}, }
local items, args = m_param_utils.process_list_arguments { params = params, param_mods = param_mods, raw_args = parent_args, termarg = 1, term_dest = "pron", track_module = "enPR", }
local data = { items = items, q = args.q.default, qq = args.qq.default, a = args.a.default, aa = args.aa.default, }
return m_IPA.format_enPR_full(data) end
return export
Pronunciation
[fetola]Lereho
[fetola]- puo ya Template:l
Peleto
[fetola]Yo