Modulo:Maipanggep-ilasin
Dokumentasion ti modulo
Daytoy a modulo let isayangkatna ti plantilia ti {{maipanggep-ilasin}}, pangngaasi a kitaen ti dokumetasionna para iti adu pay a pakaammo.
local mHatnote = require('Modulo:Hatnote')
local mHatlist = require('Modulo:Listaan ti hatnote')
local mArguments --initialize lazily
local mTableTools = require('Modulo:Ramramit ti tabla')
local checkType = require('libraryUtil').checkType
local p = {}
function p.aboutDistinguish (frame)
mArguments = require('Modulo:Dagiti argumento')
local args = mArguments.getArgs(frame)
return p._aboutDistinguish(args)
end
function p._aboutDistinguish(args, options)
-- Type checks and defaults
checkType('_aboutDistinguish', 1, args, 'table')
if not args[1] then
return mHatnote.makeWikitextError(
'awan ti naited a topiko ti maipanggep',
'Plantilia:Maipanggep-ilasin#Dagiti biddut',
args.category
)
end
if not args[2] then
return mHatnote.makeWikitextError(
'awan ti naited a panid nga ilasin',
'Plantilia:Maipanggep-ilasin#Dagiti biddut',
args.category
)
end
checkType('_aboutDistinguish', 2, options, 'table', true)
options = options or {}
local defaultOptions = {
defaultPageType = 'page',
namespace = mw.title.getCurrentTitle().namespace,
pageTypesByNamespace = {
[0] = 'nga artikulo',
[14] = 'a kategoria'
},
sectionString = 'a seksion'
}
for k, v in pairs(defaultOptions) do
if options[k] == nil then options[k] = v end
end
-- Set pieces of initial "about" string
local pageType = (args.section and options.sectionString) or
options.pageTypesByNamespace[options.namespace] or
options.defaultPageType
args = mTableTools.compressSparseArray(args)
local about = table.remove(args, 1)
--Get pronoun from Wikidata. Really basic, but it should work.
local pronouns = {
['female'] = 'Isu ket babai',
['transgender female'] = "Isuket babai",
['male'] = 'Isuket lalaki',
['transgender male'] = 'Isuket lalaki',
['default'] = 'Isuda ket'
}
local wde = mw.wikibase.getEntity()
local p31 = (wde and wde:formatPropertyValues('P31').value) == 'human'
local p21 = wde and wde:formatPropertyValues('P21').value
local pronoun = p31 and (pronouns[p21] or pronouns['default']) or 'Daytoy ket'
--Assemble everything together and return
local text = string.format(
'Daytoy %s ket maipanggep iti %s. %s saan nga iyallilaw iti %s.',
pageType,
about,
pronoun,
mHatlist.orList(args, true)
)
return mHatnote._hatnote(text)
end
return p