Modul:etymology/templates/internal: Perbezaan antara semakan
< Modul:etymology | templates
Kandungan dihapus Kandungan ditambah
PeaceSeekers (bincang | sumb.) Tiada ringkasan suntingan |
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 |
local function get_params(frame, has_text, no_family) |
||
local alias_of_t = {alias_of = "t"} |
|||
local boolean = {type = "boolean"} |
|||
[1] = true, |
|||
local plain = {} |
|||
local params = { |
|||
[1] = { |
|||
required = true, |
|||
["alt"] = {aliases = {4}}, |
|||
type = "language", |
|||
default = "und" |
|||
}, |
|||
["lit"] = false, |
|||
[ |
[2] = { |
||
required = true, |
|||
["t"] = {aliases = {5, "gloss"}}, |
|||
sublist = true, |
|||
type = "language", |
|||
etym_lang = true, |
|||
family = not no_family, |
|||
["senseid"] = false, |
|||
default = "und" |
|||
}, |
|||
["nocat"] = false, |
|||
[ |
[3] = plain, |
||
[ |
[4] = {alias_of = "alt"}, |
||
[5] = alias_of_t, |
|||
} |
|||
["alt"] = plain, |
|||
if has_text then |
|||
["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 |
end |
||
function export.parse_2_lang_args(frame, has_text, no_family) |
|||
local args = require("Module:parameters/lite").process(frame:getParent().args, params) |
|||
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 |
|||
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 |
||
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