وحدة:بطاقة/قالب/صيغة ملف
هذه الصفحة شرح لوحدة من وحدات البطاقات المبنية اعتمادا على وحدة:بطاقة. وتستعمل في {{بطاقة صيغة ملف}}.
local p = {}
local general = require( 'وحدة:بطاقة/أدوات' )
local localdata = require( 'وحدة:بطاقة/بيانات' )
-- Variables et fonctions utilisées dans certaines lignes d'infobox
--local isContainer = wikidata.isInstance('Q167772', item, 0)
--local isContainer = wikidata2.Subclass( { parent = 'Q167772', id = localdata.item.id, property = "P31" } )
local function specification(number)
if (number == '1') then
return '[[صيغة مغلقة]] [[تصنيف:صيغة ملف مغلقة]]'
elseif (number == '2') then
return '[[صيغة مفتوحة]] [[تصنيف:صيغة ملف مفتوحة]]'
end
return nil
end
local function affichageHexa(x)
local t = ""
for c in x:gmatch".." do
t = t .. c .. " "
end
return "<code>" .. t:gsub("^%s*(.-)%s*$", "%1") .. "</code> ([[نظام عد ستة عشري|hexa]])"
end
local function affichageSignature(value, qual)
if not qual then
return "<code>" .. value .. "</code>"
end
local qualifierId = qual[1].datavalue.value.id
--for k,v in pairs(qual) do
-- qualifierId = v.datavalue.value.id
-- break
--end
if (qualifierId == "Q82828") then
return affichageHexa(value)
elseif (qualifierId == "Q8815") then
return "<code>" .. value .. "</code> ([[أسكي|ascii]])"
elseif (qualifierId == "Q35432091") then
return "<code>" .. value .. "</code> ([[Base PRONOM|PRONOM]] [[تعبير نمطي|regex]])"
elseif (qualifierId == "Q125267") then
return "<code>" .. value .. "</code> ([[PCRE|PCRE]])"
elseif (qualifierId == "Q185612") then
return "<code>" .. value .. "</code> ([[تعبير نمطي|regex]])"
else
return "<code>" .. value .. "</code>"
end
end
return {
maincolor = '#F0B020',
parts = {
general.title(),
general.logo(),
general.mainimage(),
{type='table', rows = {
{type = 'mixed', label = '[[امتداد الملف]]', value = {'امتداد','الإمتداد','extension'}
, wikidata = {
property = 'P1195',
rank = 'valid',
conjtype = 'comma',
linkback = 'P1195',
}},
{type = 'mixed', label = '[[صيغة وسائط الإنترنت]]', value = {'نوع','النوع','mime'}
, wikidata = {
property = 'P1163',
separator = ' ',
rank = 'valid',
ucfirst = '-',
}},
{type = 'mixed', label = '[[Type code]]', value = {'typecode'}},
{type = 'mixed', label = '[[Uniform Type Identifier]]', value = {'uniform type'}},
{type = 'mixed', label = 'UTI conforms to', value = {'conforms to'}},
{type = 'mixed', label = 'نوع الصيغة', value = {'type','genre'}},
{type = 'mixed', label = 'توقيع الملف/عدد سحري', value = {'توقيع','magic'}
, wikidata = {
property = 'P4152', excludespecial = true, conjtype = '<br />',
}},
{type = 'mixed', label = 'المطور', value = {'مطور','المطور','developer','owner'},property = 'P178'},
{type = 'mixed', label = 'أول إصدار', value = {'أول إصدار','released'},property = 'P577'},
{type = 'mixed', label = '[[دروة حياة البرمجيات|الإصدار الأخير]]', value = {'آخر إصدار','latest release version'}},
{type = 'mixed', label = 'حاوٍ لـ', value = {'تحتوي على','container for','containerfor'}
--, wikidata = { property = 'P527', condition = function() return isContainer end, ucfirst = '-' }
},
{type = 'mixed', label = 'يحتوي', value = {'contained by','containedby'}},
{type = 'mixed', label = 'امتدّ من', value = {'extended from','extendedfrom'}},
{type = 'mixed', label = 'امتدّ لـ', value = {'امتداد لها','extended to','extendedto'}, property = 'P144'},
{type = 'mixed', label = '[[معيار دولي|المعايير]]', value = {'standard'}, property = 'P503'},
{type = 'mixed', label = '[[صيغة مفتوحة]]?', value = {'free'}},
general.website('موقع_المطور'),
}},
}
}