בדוקי עריכות אוטומטית, אינטערפעיס רעדאקטארן, אינטערפעיס אדמיניסטראַטאָרן, סיסאפן, מייבאים, מעדכנים, מייבא, אספקלריה רעדאקטארן
46,367
רעדאגירונגען
(ייבוא מוויקיפדיה העברית, ראה רשימת התורמים) צייכן: צוריקגעשטעלט |
(אפדעיט) |
||
| (6 מיטלסטע ווערסיעס פון 2 באַניצער נישט געוויזן.) | |||
| שורה 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 | ||
| שורה 112: | שורה 111: | ||
gender[1].mainsnak.datavalue and | gender[1].mainsnak.datavalue and | ||
gender[1].mainsnak.datavalue.value and | gender[1].mainsnak.datavalue.value and | ||
(gender[1].mainsnak.datavalue.value["numeric-id"] == 6581072 or gender[1].mainsnak.datavalue.value["numeric-id"] == 1052281) | (gender[1].mainsnak.datavalue.value["numeric-id"] == 6581072 | ||
or gender[1].mainsnak.datavalue.value["numeric-id"] == 1052281 | |||
or gender[1].mainsnak.datavalue.value["numeric-id"] == 15145779) | |||
if isFemale then | if isFemale then | ||
| שורה 150: | שורה 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 | ||
| שורה 156: | שורה 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 ', ' | ||
| שורה 162: | שורה 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 | ||
| שורה 177: | שורה 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 | ||
| שורה 231: | שורה 249: | ||
function property( frame ) | function property( frame ) | ||
return '' | |||
end | end | ||
| שורה 291: | שורה 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['default-value'] = options['default-value'] or nil | |||
return --no such property for this item | |||
end | end | ||
| שורה 337: | שורה 353: | ||
function getImageLink( propName, width, align, description, border, entityId) | function getImageLink( propName, width, align, description, border, entityId) | ||
return --the entity doesnt exist or have no claims | |||
end | end | ||
| שורה 359: | שורה 375: | ||
function getSitelinksFromQid(frame) | function getSitelinksFromQid(frame) | ||
resTable =mw.wikibase.getEntity(string.upper(frame.args[1] )) | resTable = mw.wikibase.getEntity(string.upper(frame.args[1] )) | ||
resTable = resTable["sitelinks"] | resTable = resTable["sitelinks"] | ||
s= "<table>\n" | s= "<table>\n" | ||
| שורה 366: | שורה 382: | ||
s=s.."<tr>".. "<td>" .. k.."</td>".. "<td>" .. v.title.."</td>".."</tr>" .. "\n" | s=s.."<tr>".. "<td>" .. k.."</td>".. "<td>" .. v.title.."</td>".."</tr>" .. "\n" | ||
end | end | ||
end | |||
return s .. "</table>" | |||
end | |||
local function createInterwikiForQid(frame) | |||
local raw = mw.wikibase.getEntity( string.upper( frame.args[1] ) )["sitelinks"] | |||
local interwikis = '' | |||
for site, val in pairs(raw) do | |||
truncated, found = string.gsub(site, 'wiki$', '') | |||
truncated = string.gsub(truncated, '_', '-') | |||
if found == 1 and truncated ~= 'he' and truncated ~= 'commons' then interwikis = interwikis .. '[[' .. truncated .. ':' .. val.title .. ']]' end | |||
end | |||
return interwikis | |||
end | end | ||
return { | return { | ||
imageLink = imageLink, | imageLink = imageLink, | ||
| שורה 385: | שורה 412: | ||
getPropertyByOptions = getPropertyByOptions, | getPropertyByOptions = getPropertyByOptions, | ||
getPropertyQualifier = getPropertyQualifier, | getPropertyQualifier = getPropertyQualifier, | ||
getItem = getItem, | |||
getImageLink = getImageLink, | getImageLink = getImageLink, | ||
getLabel = getLabel, | getLabel = getLabel, | ||
hasEntry = hasEntry, | hasEntry = hasEntry, | ||
getPageEntry = getPageEntry, | getPageEntry = getPageEntry, | ||
getSitelinksFromQid=getSitelinksFromQid, | getSitelinksFromQid = getSitelinksFromQid, | ||
createInterwikiForQid = createInterwikiForQid, | |||
['יש פריט'] = hasEntry | ['יש פריט'] = hasEntry | ||
} | } | ||
רעדאגירונגען