בדוקי עריכות אוטומטית, אינטערפעיס רעדאקטארן, אינטערפעיס אדמיניסטראַטאָרן, סיסאפן, מייבאים, מעדכנים, מייבא, אספקלריה רעדאקטארן
46,362
רעדאגירונגען
אין תקציר עריכה |
(אפדעיט) |
||
| שורה 1: | שורה 1: | ||
local FEMALE_FORM_PROPERTY = 'P2521' | local FEMALE_FORM_PROPERTY = 'P2521' | ||
local Date = require('Module:דאטום') | local Date = require('Module:דאטום') | ||
local wikidataModule = require('Module:Wikidata') | |||
local WDS = require('Module:WikidataSelectors') | |||
--[[ | --[[ | ||
| שורה 7: | שורה 9: | ||
function asOfDateQualifier(claim) | function asOfDateQualifier(claim) | ||
local AS_OF_PROPERTY = 'P585' | local AS_OF_PROPERTY = 'P585' | ||
local value | local value | ||
local error | local error | ||
| שורה 35: | שורה 36: | ||
local langElementId = 'Q9288' -- hebrew | local langElementId = 'Q9288' -- hebrew | ||
local labelFilter = 'P5061[language:'..langCode..'], P5061[P282:' .. writingSystemElementId .. ', P407:' .. langElementId .. ']' | local labelFilter = 'P5061[language:'..langCode..'], P5061[P282:' .. writingSystemElementId .. ', P407:' .. langElementId .. ']' | ||
local labelClaims = WDS.filter( {['P5061']=unitSymbol }, labelFilter ) | local labelClaims = WDS.filter( {['P5061']=unitSymbol }, labelFilter ) | ||
for r, claim in pairs( labelClaims ) do | for r, claim in pairs( labelClaims ) do | ||
if claim.mainsnak and claim.mainsnak.datavalue.type == 'monolingualtext' and claim.mainsnak.datavalue.value.text then | if claim.mainsnak and claim.mainsnak.datavalue.type == 'monolingualtext' and claim.mainsnak.datavalue.value.text then | ||
unit = claim.mainsnak.datavalue.value.text | unit = claim.mainsnak.datavalue.value.text | ||
break | break | ||
elseif claim.mainsnak and claim.mainsnak.datavalue and claim.mainsnak.datavalue.type == 'string' and claim.mainsnak.datavalue.value ~= '' then | elseif claim.mainsnak and claim.mainsnak.datavalue and claim.mainsnak.datavalue.type == 'string' and claim.mainsnak.datavalue.value ~= '' then | ||
unit = claim.mainsnak.datavalue.value | unit = claim.mainsnak.datavalue.value | ||
break | break | ||
end | end | ||
end | end | ||
| שורה 55: | שורה 55: | ||
function getPropertyQualifier(property, qualifier) | function getPropertyQualifier(property, qualifier) | ||
local entity = mw.wikibase.getEntityIdForCurrentPage() | local entity = mw.wikibase.getEntityIdForCurrentPage() | ||
if not entity then return end --the entity doesnt exist or have no claims | if not entity then return end --the entity doesnt exist or have no claims | ||
| שורה 66: | שורה 65: | ||
local function missingLabelCategory(propertyName) | local function missingLabelCategory(propertyName) | ||
return '[[ | return '[[קאַטעגאָריע:ויקינתונים:ערכים_חסרי_תווית_בעברית: ' .. (mw.wikibase.label( propertyName) or propertyName) .. ']][[קאַטעגאָריע:ויקינתונים:ערכים_חסרי_תווית_בעברית]]' | ||
end | end | ||
local function getFemaleLabelForEntityId( entityId ) | local function getFemaleLabelForEntityId( entityId ) | ||
local femaleForm = mw.wikibase.getBestStatements(entityId, FEMALE_FORM_PROPERTY) | local femaleForm = mw.wikibase.getBestStatements(entityId, FEMALE_FORM_PROPERTY) | ||
| שורה 97: | שורה 95: | ||
@param {string} entityId - id of entity to link to (e.g Q42) | @param {string} entityId - id of entity to link to (e.g Q42) | ||
@param {string} genderAwareEntity - entity from which to fetch gender for gender form | @param {string} genderAwareEntity - entity from which to fetch gender for gender form | ||
@param {bool} noLinktoWikidata - if true, returns without the link to Wikidata | |||
@returns {string, bool} formattedValue, missingTranslation - the formatted value along with indicator of missing translation | @returns {string, bool} formattedValue, missingTranslation - the formatted value along with indicator of missing translation | ||
]] | ]] | ||
function formatEntity(entityId, genderAwareEntity) | function formatEntity(entityId, genderAwareEntity, noLinktoWikidata) | ||
local linkTarget = mw.wikibase.sitelink( entityId ) | local linkTarget = mw.wikibase.sitelink( entityId ) | ||
local localLabel, langLabel, missingFemaleForm | local localLabel, langLabel, missingFemaleForm | ||
| שורה 152: | שורה 151: | ||
formattedValue = mw.ustring.format('<span lang="en" dir="ltr">%s</span>', localLabel) | formattedValue = mw.ustring.format('<span lang="en" dir="ltr">%s</span>', localLabel) | ||
else | else | ||
formattedValue = mw.ustring.format( "[[:d:%s|%s]]", entityId, entityId ) | if noLinktoWikidata then | ||
formattedValue = 'בפסקה זו רשומה אחת נוספת שטרם תורגמה' | |||
else | |||
formattedValue = mw.ustring.format( "[[:d:%s|%s]]", entityId, entityId ) | |||
end | |||
end | end | ||
end | end | ||
| שורה 158: | שורה 161: | ||
end | end | ||
function formatOptionalQualifiers(property, qualifiers, qualifiersSep) | function formatOptionalQualifiers(property, qualifiers, qualifiersSep, defaultValue, addParenthesis) | ||
if (qualifiers==nil) or (#qualifiers == 0) or (not property.qualifiers) then return '' end | if (qualifiers==nil) or (#qualifiers == 0) or (not property.qualifiers) then return '' end | ||
qualifiersSep = qualifiersSep or ', ' | qualifiersSep = qualifiersSep or ', ' | ||
| שורה 164: | שורה 167: | ||
local formmatedQualifiers = {} | local formmatedQualifiers = {} | ||
local warnings = '' | local warnings = '' | ||
local defaultIsOn = true | |||
for _, optionalQualifier in pairs( qualifiers ) do | for _, optionalQualifier in pairs( qualifiers ) do | ||
-- handling case of "first or default" qualifier (e.g.: for 'P1/P2' take P1 if exists, otherwise - P2) | -- handling case of "first or default" qualifier (e.g.: for 'P1/P2' take P1 if exists, otherwise - P2) | ||
local was_found = false | |||
for selectableQualifier in string.gmatch(optionalQualifier, '[^/]+') do | for selectableQualifier in string.gmatch(optionalQualifier, '[^/]+') do | ||
if selectableQualifier and property.qualifiers[selectableQualifier] then | if selectableQualifier and property.qualifiers[selectableQualifier] then | ||
| שורה 179: | שורה 185: | ||
local formattedValue = '<span title="'.. mw.wikibase.label(selectableQualifier)..'" class="propertylink-wikidata-qualifier">'..mw.wikibase.formatValues(property.qualifiers[selectableQualifier]) ..'</span>' | local formattedValue = '<span title="'.. mw.wikibase.label(selectableQualifier)..'" class="propertylink-wikidata-qualifier">'..mw.wikibase.formatValues(property.qualifiers[selectableQualifier]) ..'</span>' | ||
table.insert(formmatedQualifiers, formattedValue) | table.insert(formmatedQualifiers, formattedValue) | ||
was_found = true | |||
defaultIsOn = false | |||
break -- found first available value | break -- found first available value | ||
end | end | ||
elseif string.sub(selectableQualifier, 1, 1) ~= 'P' then | elseif string.sub(selectableQualifier, 1, 1) ~= 'P' then | ||
table.insert(formmatedQualifiers, selectableQualifier) | table.insert(formmatedQualifiers, selectableQualifier) | ||
was_found = true | |||
defaultIsOn = false | |||
break -- found first available value | break -- found first available value | ||
end | end | ||
end | |||
if not was_found then | |||
table.insert(formmatedQualifiers, defaultValue) | |||
end | |||
end | |||
local res = "" | |||
if not defaultIsOn then | |||
res = table.concat( formmatedQualifiers, qualifiersSep) | |||
if #formmatedQualifiers > 0 and addParenthesis then | |||
res = mw.ustring.format('<span style="font-size:0.9em"> (%s)</span>', res) | |||
end | end | ||
end | end | ||
return res .. warnings | return res .. warnings | ||
end | end | ||
| שורה 289: | שורה 305: | ||
options['source'] = options['source'] or false | options['source'] = options['source'] or false | ||
options['filter'] = options['filter'] or nil | options['filter'] = options['filter'] or nil | ||
options['sort'] = options['sort'] or 'P1545' | options['sort'] = options['sort'] or { 'P1545' } | ||
options['default-value'] = options['default-value'] or nil | |||
return --no such property for this item | return --no such property for this item | ||
| שורה 318: | שורה 335: | ||
function getItem( propertyName, entityId ) | function getItem( propertyName, entityId ) | ||
local entity = entityId | |||
if not entity then return end--the entity doesnt exist or have no claims | if not entity then return end--the entity doesnt exist or have no claims | ||
local property = mw.wikibase.getBestStatements(entity, propertyName) | local property = mw.wikibase.getBestStatements(entity, propertyName) | ||
רעדאגירונגען