تضامنًا مع حق الشعب الفلسطيني |
وحدة:Wikidata2/pra
اذهب إلى التنقل
اذهب إلى البحث
توثيق الوحدة[أنشئ] [محو الاختزان][استخدامات] [قوالب]
local Wikidata2 = require('Module:Wikidata2').formatStatementsFromLua
local p = {}
local alies = {
["barlist"] = { "قائمة شريطية" },
["page"] = { "مقالة" },
["entityId"] = { "صفحة" , "id", "معرف ويكي بيانات", "qid", "", "" },
["property"] = { "خاصية", "", "", "", "" },
["formatcharacters"] = { "formatcharacters" , "", "", "", "", "" },
["addTrackingCat"] = { "" , "", "", "", "", "" },
["category"] = { "تصنيف", "", "", "", "" },
["noicon"] = { "إيقونة" , "رمز", "", "", "", "" },
["nocate"] = { "دون تصنيف" , "", "", "", "", "" },
["icon2"] = { "icon2" , "", "", "", "", "" },
["urllabel"] = { "urllabel" , "", "", "", "", "" },
["mainsuffixAfterIcon"] = { "لاحقة2" , "", "", "", "", "" },
["mainprefix"] = { "سابقة" , "بادئة", "", "", "", "" },
["mainsuffix"] = { "لاحقة" , "", "", "", "", "" },
["property1"] = { "خاصية قيمة" , "", "", "", "", "" },
["property1rank"] = { "property1rank" , "", "", "", "", "" },
["property1after"] = { "property1after" , "", "", "", "", "" },
["property1formatting"] = { "property1formatting" , "", "", "", "", "" },
["property1pref"] = { "سابقة خاصية قيمة" , "", "", "", "", "" },
["property1suff"] = { "لاحقة خاصية قيمة" , "", "", "", "", "" },
["image"] = { "image" , "صورة", "", "", "", "" },
["center"] = { "center" , "", "", "", "", "" },
["size"] = { "حجم صورة" , "", "", "", "", "" },
["formatting"] = { "formatting" , "", "", "", "", "" },
["illwd2"] = { "illwd2" , "", "", "", "", "" },
["pattern"] = { "نمط" , "", "", "", "", "" },
["NoPropValue"] = { "تصنيف 3" , "تصنيف3", "بديل", "", "", "" },
["langpref"] = { "langpref" , "", "", "", "", "" },
["noref"] = { "مراجع" , "مراجع ويكي بيانات", "", "", "", "" },
["numberofreferences"] = { "numberofreferences" , "", "", "", "", "" },
["justthisqual"] = { "justthisqual" , "تصفية فقط", "", "", "", "" },
["modifytime"] = { "" , "", "", "", "", "" },
["rank"] = { "rank" , "", "", "", "", "" },
["bothdates"] = { "بداية ونهاية" , "", "", "", "", "" },
["withdate"] = { "نقطة" , "", "", "", "", "" },
["firstvalue"] = { "واحد فقط" , "وصلة كاملة", "", "", "", "" },
["modifyqualifiertime"] = { "modifyqualifiertime" , "", "", "", "", "" },
["enlabelcate"] = { "enlabelcate" , "", "", "", "", "" },
["qual1"] = { "تصفية" , "", "", "", "", "" },
["qual1pref"] = { "سابقة تصفية" , "", "", "", "", "" },
["qual1pref"] = { "سابقة تصفية" , "", "", "", "", "" },
["qual1a"] = { "تصفية1" , "", "", "", "", "" },
["qp1apref"] = { "سابقة تصفية1" , "", "", "", "", "" },
["qual2"] = { "تصفية2" , "", "", "", "", "" },
["qual2pref"] = { "سابقة تصفية2" , "", "", "", "", "" },
["qual3"] = { "تصفية3" , "", "", "", "", "" },
["qual3pref"] = { "سابقة تصفية3" , "", "", "", "", "" },
["qual4"] = { "تصفية4" , "", "", "", "", "" },
["qual4pref"] = { "سابقة تصفية4" , "", "", "", "", "" },
["qual5"] = { "تصفية5" , "", "", "", "", "" },
["qual5pref"] = { "سابقة تصفية5" , "", "", "", "", "" },
["sortbytime"] = { "ترتيب" , "", "", "", "", "" },
["option1"] = { "خيار" , "", "", "", "", "" },
["option1value"] = { "قيمة خيار" , "", "", "", "", "" },
["propertyimage"] = { "propertyimage" , "", "", "", "", "" },
["property2"] = { "property2" , "", "", "", "", "" },
["qualifierprefix"] = { "بادئة تصفيات" , "", "", "", "", "" },
["qualifiersuffix"] = { "لاحقة تصفيات" , "", "", "", "", "" },
["avoidqualifier"] = { "تجاهل تصفية " , "", "", "", "", "" },
["preferqualifier"] = { "preferqualifier" , "", "", "", "", "" },
["avoidvalue"] = { "avoidvalue" , "", "", "", "", "" },
["preferqualifiervalue"] = { "preferqualifiervalue" , "", "", "", "", "" },
["separator"] = { "separator" , "", "", "", "", "" },
["conjunction"] = { "conjunction" , "", "", "", "", "" },
["link"] = { "وصلة" , "", "", "", "", "" },
["linkname"] = { "تسمية وصلة" , "", "", "", "", "" },
}
function switch_qualls( property , qual1 , Table )
--local property
if qual1 and qual1 ~= "" then return qual1 end
if property:upper():sub(1,1) == "P" then
property = property:sub(2)
property = tonumber(property)
end
local val = Table[property] or ""
return val
end
function switch_contry( property , argvalue , property2 , Table )
--local property
if argvalue and argvalue ~= "" then return argvalue end
if property:upper():sub(1,1) then
property = property:sub(2)
property = tonumber(property)
end
for i, v in pairs( Table ) do
if v == property
then
return property2
end
end
return argvalue
end
local function isavild(x)
if x and x ~= "" then return x end
return nil
end
function p.prase( frame )
--local prgs = frame.args
local prgs = frame:getParent().args
local args = prgs
local value = mw.text.trim( args["قيمة موجودة"] or args.value or args["1"] or "" )
if value and value ~= '' then
mw.log("value:" .. value )
if value == 'لا' or value == 'no' then
return ""
else
return value
end
end
for k, t in pairs(alies) do
--mw.log(" arg:" .. k )
for i, v in pairs(t) do
if args[v] and v ~= "" then
--mw.log( "v arg: v".. v )
if v ~= k
then
args[k] = args[v]
args.k = args[v]
--mw.log("rename arg:".. v .. " to : " .. k )
end
end
end
end
--If a value if already set, use it
local property = args.property or args["property"] or args["خاصية"]
local contries = { 17 , 1532 , 27 , 495 }
args.property1 = switch_contry( property , args.property1 , "P41" , contries )
args.image = switch_contry( property , args.image , "image" , contries )
args.size = switch_contry( property , args.size , "20" , contries )
args.formatting = switch_contry( property , args.formatting , "sitelink" , { 1811 , 1881 } )
args.bothdates = switch_contry( property , args.bothdates , "true",{26,551,27,69,1376,1532,17,495,102,1451} )
args.onlyvaluewithref = switch_contry( property , args.onlyvaluewithref , "t" ,{ 172,140,91,1853 } )
args.qual1 = switch_qualls( property , args.qual1 , {
[856] = "P407" , -- لغة الموقع الرسمي
[159] = "P17" , -- بلد مقر رسمي
[1120] = "P2868" , -- خاصية دور شخص
[1561] = "P2868" , -- خاصية دور شخص
[1132] = "P2868" , -- خاصية دور شخص
} )
-- firstvalue
if isavild( args["وصلة كاملة"] ) or isavild( args.firstvalue ) then
args.firstvalue = "true"
end
-- value-module / value-function
value_module = switch_qualls( property , args["value-module"] , {
[106] = "Wikidata2/P106" ,
[413] = "Wikidata2/P106" ,
[172] = "Wikidata2/P172" ,
} )
value_function = switch_qualls( property , args["value-function"] , {
[106] = "formatEntityWithGenderClaim" ,
[413] = "formatEntityWithGenderClaim" ,
[172] = "get_P172_lab" ,
} )
if isavild( value_module ) and isavild( value_function ) then
args["value-module"] = value_module
args["value-function"] = value_function
end
-- rank
if isavild( args.rank ) == nil then
if isavild(args["رقم"]) or isavild( args.link ) then
args.rank = "all"
else
args.rank = "best"
end
end
-- قائمة
if isavild(args["قائمة"])
or isavild(args["نقطة"])
or isavild(args["bothdates"])
or isavild(args["فاصل سطر"])
or switch_contry( property , args["قائمة"] , "true" , {26,551,27,69,1376,1532,17,495,102,1451} )
then
args.separator = "{{-}}"
args.conjunction = "{{-}}"
else
args.separator = args.separator or "، و"
args.conjunction = args.conjunction or "، و"
end
-- قائمة شريطية
if args.barlist and args.barlist ~= "" then
args.mainprefix = "{{Div/top}}" .. (args.mainprefix or "")
args.mainsuffixAfterIcon = ( args.mainsuffixAfterIcon or "" ) .. "</div>"
end
if args.pattern and args.pattern ~= "" then
if args.pattern == "وصلة" then args.pattern = "autourl2" end
else
if not args["وصلة كاملة"] or args["وصلة كاملة"] == "" then
if args.link and args.link ~= "" then
args.pattern = "[" .. args.link .. " " .. ( args.linkname or "$1" ) .. "]"
end
end
end
args.addTrackingCat = "yes"
args.NosValue = args.NoPropValue
args.showlang = "t"
return Wikidata2( args )
end
return p