ماڈیول:Wikidata2/P106
ظاہری ہیئت
| شاید آپ اس اسکریبنٹو ماڈیول کا دستاویزی صفحہ تخلیق کرنا چاہتے ہیں۔ صارفین ماڈیول کے تختہ مشق (تخلیق | آئینہ) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ براہ کرم /دستاویز کے ذیلی صفحہ پر زمرہ جات شامل فرمائیں۔ اس ماڈیول کے ذیلی صفحات۔ |
local p = {}
local sandbox = "تختہ مشق"
local sandbox_added = ""
if nil ~= string.find(mw.getCurrentFrame():getTitle(), sandbox, 1, true) then
sandbox_added = "/" .. sandbox
end
local config = mw.loadData('Module:Wikidata2/config' .. sandbox_added)
local i18n = config.i18n
local to_skip = config.skip_items["P106"] or {}
local function formatGenderLabelForEntityId(jobqid, isFemale, options)
local vv = formatEntityId(jobqid, options)
if isFemale and (isFemale == 'Q6581072' or isFemale == 'Q1052281') then
local joblabel = ""
local statements = mw.wikibase.getBestStatements(jobqid, 'P2521')
for _, statement in ipairs(statements) do
if statement.mainsnak.snaktype == 'value' then
local datavalue = statement.mainsnak.datavalue
if datavalue.type == 'monolingualtext' then
if datavalue.value.language == i18n.local_lang or datavalue.value.language == 'ur' then
joblabel = datavalue.value.text
break
end
end
end
end
if joblabel ~= "" then
local sitelink = mw.wikibase.getSitelink(jobqid)
if sitelink then
vv.value = '[[' .. sitelink .. '|' .. joblabel .. ']]'
else
vv.value = joblabel
end
end
end
return vv
end
function p.formatEntityWithGenderClaim(datavalue, datatype, options)
local jobqid = datavalue.value.id
for k, v in pairs(to_skip) do
if jobqid == v then
mw.log("P106:" .. jobqid .. " undisplayed.")
return ""
end
end
local personqid = options.entityId or options.qid
local gender = formatStatements({
property = 'P21',
entityId = personqid,
noref = 't',
rank = 'all',
firstvalue = 't',
formatting = 'raw'
})
local s = formatGenderLabelForEntityId(jobqid, gender, options).value
return s
end
return p