«Модуль:Wikidata2» битенең юрамалары арасында аерма

129 байт убрано ,  5 ел элек
төзәтмә аңлатмасы юк
 
-- settings, may differ from project to project
local categoryLinksToEntitiesWithMissingLabel = '[[ТөркемКатегория:Википедия:Статьи со ссылками на элементы Викиданных без русской подписи]]';
local categoryLocalValuePresent = '[[ТөркемКатегория:Википедия:Статьи с переопределением значения из Викиданных]]';
local outputReferences = true;
 
return tonumber(sign .. oh), tonumber(sign .. om);
end )(str)
return tonumber(os.time({year=Y, month=M, day=D, hour=(h+oh), min=(m+om), sec=s})) * 1000;
end
 
 
-- Выбирает свойства по property id, дополнительно фильтруя их по рангу
local function selectClaims( context, options, propertyIdpropertySelector )
if ( not context ) then error( 'context not specified'); end;
if ( not options ) then error( 'options not specified'); end;
if ( not options.entity ) then error( 'options.entity is missing'); end;
if ( not propertyIdpropertySelector ) then error( 'propertyIdpropertySelector not specified'); end;
 
local WDS = require('Module:WikidataSelectors')
local allPropertyClaims = options.entity.claims[ string.upper( propertyId ) ];
result = WDS.filter(options.entity.claims, propertySelector)
if ( not allPropertyClaims ) then
return nil;
end
 
--Поиск предпочтительного ранга
local requiredRank = 'normal' -- ранг по умолчанию (deprecated не используем)
-- если есть хотя бы один preferred, используем только их
for i, statement in pairs( allPropertyClaims ) do
if (statement.rank == 'preferred') then
requiredRank = 'preferred';
break
end
end
local result = {};
if ( allPropertyClaims[0] ) then
for i = 0, #allPropertyClaims do
local statement = allPropertyClaims[i]
if (statement.rank == requiredRank) then
result[ #result + 1 ] = statement;
end
end
else
for i, statement in pairs( allPropertyClaims ) do
if (statement.rank == requiredRank) then
result[ #result + 1 ] = statement;
end
end
end
 
if ( not result or #result == 0 ) then
return nil;
end
elseif datavalue.type == 'monolingualtext' then
-- моноязычный текст (строка с указанием языка)
return function( context, options, value ) return '<span class="lang" lang="' .. value.language .. '">' .. value.text .. '</span>' end;
if ( options.monolingualLangTemplate == 'lang' ) then
return options.frame:expandTemplate{ title = 'lang-' .. value.language, args = { value.text } };
elseif ( options.monolingualLangTemplate == 'ref' ) then
return '<span class="lang" lang="' .. value.language .. '">' .. value.text .. '</span>' .. options.frame:expandTemplate{ title = 'ref-' .. value.language };
else
return '<span class="lang" lang="' .. value.language .. '">' .. value.text .. '</span>';
end
end;
elseif datavalue.type == 'globecoordinate' then
-- географические координаты
 
if label then
-- will be replaced by link to Reasonator by Gadget
return label
return '[[:d:' .. entityId .. '|' .. label .. ']]'
end
-- сообщение об отсутвии локализованного названия
-- not good, but better than nothing
return '[[:d:' .. entityId .. '|' .. entityId .. ']]<span style="border-bottom: 1px dotted; cursor: help; white-space: nowrap" title="В Викиданных нет русской подписи к элементу. Вы можете помочь, указав русский вариант подписи.">?</span>' .. categoryLinksToEntitiesWithMissingLabel;
end
 
-- если значение передано в параметрах вызова то выводим только его
if frame.args.value and frame.args.value ~= '' then
-- специальное значение для скрытия Викиданных
if plain or frame.args.nocat or frame:callParserFunction( '#property', frame.args.property )=='' then
if frame.args.value == '-' then
-- опция, запрещающая оформление значения, поэтому никак не трогаем
return frame.args.value''
else
-- если трогать всё-таки можно, добавляем категорию-маркер
return args.value .. categoryLocalValuePresent;
end
 
-- опция, запрещающая оформление значения, поэтому никак не трогаем
if plain or frame.args.nocat or frame:callParserFunction( '#property', frame.args.property ) == '' then
return labelframe.args.value
end
 
-- если трогать всё-таки можно, добавляем категорию-маркер
return args.value .. categoryLocalValuePresent;
end