Modul:Wikidata utilities: Unterschied zwischen den Versionen
keine Bearbeitungszusammenfassung
K (kleinigkeiten) |
Keine Bearbeitungszusammenfassung |
||
Zeile 145: | Zeile 145: | ||
return getNValues( statements, count or #statements ) | return getNValues( statements, count or #statements ) | ||
end | |||
function fw.getValuesByLang( entity, p, count, lang ) | |||
if ( not entity ) or ( entity == '' ) then | |||
return '' | |||
end | |||
local statements | |||
if type( entity ) == 'string' then | |||
statements = mw.wikibase.getBestStatements( entity, p ) | |||
else | |||
statements = entity:getBestStatements( p ) | |||
end | |||
local ar = {}, i, value | |||
count = count or #statements | |||
if ( #statements == 0 ) or ( count <= 0 ) then | |||
return ar | |||
end | |||
repeat | |||
i = i + 1 | |||
if statements[i].mainsnak.snaktype == 'value' then | |||
value = statements[i].mainsnak.datavalue.value | |||
if lang == value.language then | |||
table.insert( ar, statements[i].mainsnak.datavalue.value.text ) | |||
end | |||
end | |||
until ( i >= #statements ) or ( #ar >= count ) | |||
return ar | |||
end | end | ||