Modul:etymology/templates/internal: Perbezaan antara semakan

Daripada Wiktionary
Kandungan dihapus Kandungan ditambah
PeaceSeekers (bincang | sumb.)
Tiada ringkasan suntingan
Hakimi97 (bincang | sumb.)
Mengemas kini fungsi modul seperti di Wikikamus bahasa Inggeris
Teg: Dibalikkan
Baris 1: Baris 1:
-- For internal use only with [[Module:etymology/templates]] and its submodules.
-- For internal use only with [[Module:etymology/templates]] and its submodules.
local process_params = require("Module:parameters").process


local export = {}
local export = {}
Baris 6: Baris 7:
return require("Module:languages").getByCode(lang, param)
return require("Module:languages").getByCode(lang, param)
end
end



function export.fetch_source(code, param, disallow_family)
function export.fetch_source(code, param, disallow_family)
return require("Module:languages").getByCode(code, param, true, not disallow_family)
return require("Module:languages").getByCode(code, param, true, not disallow_family)
end
end


local function fetch_sources(codes, param, disallow_family)
local m_languages = require("Module:languages")
codes = mw.text.split(codes, "%s*,%s*")
for i, code in ipairs(codes) do
codes[i] = m_languages.getByCode(code, param, true, not disallow_family)
end
return codes
end


function export.fetch_source_or_sources(source, param, disallow_family)
local sources
if source:find(",") then
sources = fetch_sources(source, param, disallow_family)
source = sources[#sources]
else
source = export.fetch_source(source, param, disallow_family)
end
return source, sources
end



function export.fetch_script(sc, param)
function export.fetch_script(sc, param)
Baris 39: Baris 16:
end
end


do

function export.parse_2_lang_args(frame, has_text, no_family)
local function get_params(frame, has_text, no_family)
local params = {
local alias_of_t = {alias_of = "t"}
local boolean = {type = "boolean"}
[1] = true,
[2] = true,
local plain = {}
[3] = false,
local params = {
[1] = {
required = true,
["alt"] = {aliases = {4}},
["cat"] = false,
type = "language",
["id"] = false,
default = "und"
},
["lit"] = false,
["pos"] = false,
[2] = {
required = true,
["t"] = {aliases = {5, "gloss"}},
["tr"] = false,
sublist = true,
["ts"] = false,
type = "language",
["sc"] = false,
etym_lang = true,
family = not no_family,
["senseid"] = false,
default = "und"

},
["nocat"] = false,
["sort"] = false,
[3] = plain,
["conj"] = false,
[4] = {alias_of = "alt"},
[5] = alias_of_t,
}

["alt"] = plain,
if has_text then
params["notext"] = false
["cat"] = plain,
params["nocap"] = false
["g"] = {list = true},
["gloss"] = alias_of_t,
["id"] = plain,
["lit"] = plain,
["pos"] = plain,
["t"] = plain,
["tr"] = plain,
["ts"] = plain,
["sc"] = {type = "script"},
["senseid"] = plain,
["nocat"] = boolean,
["sort"] = plain,
["conj"] = plain,
}
if has_text then
params["notext"] = boolean
params["nocap"] = boolean
end
return process_params(frame:getParent().args, params)
end
end

function export.parse_2_lang_args(frame, has_text, no_family)
local args = require("Module:parameters/lite").process(frame:getParent().args, params)
local yesno = require("Module:yesno")
local args = get_params(frame, has_text, no_family)
local sources = args[2]

return args, args[1], {
args["g"] = require("Module:parameters/lite/list")(frame:getParent().args, "g")
lang = sources[#sources],
args["nocat"] = yesno(args["nocat"])
sc = args["sc"],
if has_text then
args["notext"] = yesno(args["notext"])
term = args[3],
args["nocap"] = yesno(args["nocap"])
alt = args["alt"],
id = args["id"],
genders = args["g"],
tr = args["tr"],
ts = args["ts"],
gloss = args["t"],
pos = args["pos"],
lit = args["lit"]
}, #sources > 1 and sources or nil
end
end
local lang = export.fetch_lang(args[1], 1)
local source, sources = export.fetch_source_or_sources(args[2], 2, no_family)
local sc = export.fetch_script(args["sc"], "sc")

return args, lang, {
lang = source,
sc = sc,
term = args[3],
alt = args["alt"],
id = args["id"],
genders = args["g"],
tr = args["tr"],
ts = args["ts"],
gloss = args["t"],
pos = args["pos"],
lit = args["lit"]
}, sources
end
end



Semakan pada 02:34, 28 April 2024

Pendokumenan untuk modul ini boleh diciptakan di Modul:etymology/templates/internal/doc

-- For internal use only with [[Module:etymology/templates]] and its submodules.
local process_params = require("Module:parameters").process

local export = {}

function export.fetch_lang(lang, param)
	return require("Module:languages").getByCode(lang, param)
end

function export.fetch_source(code, param, disallow_family)
	return require("Module:languages").getByCode(code, param, true, not disallow_family)
end

function export.fetch_script(sc, param)
	return require("Module:scripts").getByCode(sc, param)
end

do
	local function get_params(frame, has_text, no_family)
		local alias_of_t = {alias_of = "t"}
		local boolean = {type = "boolean"}
		local plain = {}
		local params = {
			[1] = {
				required = true,
				type = "language",
				default = "und"
			},
			[2] = {
				required = true,
				sublist = true,
				type = "language",
				etym_lang = true,
				family = not no_family,
				default = "und"
			},
			[3] = plain,
			[4] = {alias_of = "alt"},
			[5] = alias_of_t,
			
			["alt"] = plain,
			["cat"] = plain,
			["g"] = {list = true},
			["gloss"] = alias_of_t,
			["id"] = plain,
			["lit"] = plain,
			["pos"] = plain,
			["t"] = plain,
			["tr"] = plain,
			["ts"] = plain,
			["sc"] = {type = "script"},
			["senseid"] = plain,
	
			["nocat"] = boolean,
			["sort"] = plain,
			["conj"] = plain,
		}
		if has_text then
			params["notext"] = boolean
			params["nocap"] = boolean
		end
		return process_params(frame:getParent().args, params)
	end
	
	function export.parse_2_lang_args(frame, has_text, no_family)
		local args = get_params(frame, has_text, no_family)
		local sources = args[2]
		return args, args[1], {
			lang = sources[#sources],
			sc = args["sc"],
			term = args[3],
			alt = args["alt"],
			id = args["id"],
			genders = args["g"],
			tr = args["tr"],
			ts = args["ts"],
			gloss = args["t"],
			pos = args["pos"],
			lit = args["lit"]
		}, #sources > 1 and sources or nil
	end
end

return export