Minggu, 18 Oktober 2026
08:55 WIB
TERKINI
Universitas Teknokrat Indonesia Mahasiswa Universitas Teknokrat Raih Empat Gelar Bergengsi di Kompetisi Bahasa Inggris Nasional Pesisir Barat Pesisir Barat Jalin Kemitraan Strategis, Dorong Akses Pendidikan Tinggi Terjangkau Universitas Teknokrat Indonesia Teknokrat dan PMD Pesawaran Bersinergi Wujudkan Desa Digital Berkelanjutan Humaniora Memperkuat Hak Konstitusional Perempuan Adat untuk Kedaulatan Bangsa Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global Pesawaran Pengalihan Status Guru PPPK ke Penuh Waktu: DPRD Pesawaran Soroti Isu Penempatan Lampung Timur Gotong Royong Fantastis: Warga Bandar Agung Himpun Rp15 Miliar untuk Jalan Desa Bandar Lampung JNE Lampung Sukses Ubah Komplain Milea Cutting Jadi Kemitraan Strategis Bandar Lampung Jadwal Padat Pemprov Lampung 16 Oktober 2026: Pisah Sambut Kapolda dan Rapat Strategis Bandar Lampung Lampung Waspada: BMKG Deteksi 212 Titik Panas di Sepuluh Kabupaten Universitas Teknokrat Indonesia Mahasiswa Universitas Teknokrat Raih Empat Gelar Bergengsi di Kompetisi Bahasa Inggris Nasional Pesisir Barat Pesisir Barat Jalin Kemitraan Strategis, Dorong Akses Pendidikan Tinggi Terjangkau Universitas Teknokrat Indonesia Teknokrat dan PMD Pesawaran Bersinergi Wujudkan Desa Digital Berkelanjutan Humaniora Memperkuat Hak Konstitusional Perempuan Adat untuk Kedaulatan Bangsa Pesawaran Lampung Dorong Rantai Pasok Hijau Kakao, Kopi, Lada ke Pasar Global Pesawaran Pengalihan Status Guru PPPK ke Penuh Waktu: DPRD Pesawaran Soroti Isu Penempatan Lampung Timur Gotong Royong Fantastis: Warga Bandar Agung Himpun Rp15 Miliar untuk Jalan Desa Bandar Lampung JNE Lampung Sukses Ubah Komplain Milea Cutting Jadi Kemitraan Strategis Bandar Lampung Jadwal Padat Pemprov Lampung 16 Oktober 2026: Pisah Sambut Kapolda dan Rapat Strategis Bandar Lampung Lampung Waspada: BMKG Deteksi 212 Titik Panas di Sepuluh Kabupaten

Modul:Wikidata Infobox

Wikimedia infobox module

Bagikan:
Dokumentasi modulbuatsegarkan
Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
localp={}
localWikidataIB=require("Module:WikidataIB")
require('strict')
functionp.getMID()
return"M"..mw.title.getCurrentTitle().id
end
functionp.getFilename()
returnmw.title.getCurrentTitle().nsText..':'..mw.title.getCurrentTitle().text
end
functionp.getP180vals(frame)
localmid=frame.args[1]
localprefix=frame.args[2]or''
localpostfix=frame.args[3]or' '
localtext=''
localtablevals=mw.wikibase.getBestStatements(mid,'P180')
fori,vinipairs(tablevals)do
text=text..prefix..v.mainsnak.datavalue.value.id..postfix
end
returntext
end
functionp.getCombinedWikidataTemplates(frame)
localqid=frame.args[1]or''
localoutputcode=''
ifmw.text.trim(qidor'')~=''then
localtablevals=mw.wikibase.getAllStatements(qid,'P971')
fori,vinipairs(tablevals)do
outputcode=outputcode..frame:expandTemplate{title='Wikidata Infobox/core',args={qid=v.mainsnak.datavalue.value.id,embed='Yes',conf_authoritycontrol='yes'}}
end
end
returnoutputcode
end
functionp.ifThenShow(frame)
ifmw.text.trim(frame.args[1]or'')~=''then
return(frame.args[3]or'')..(frame.args[1]or'')..(frame.args[4]or'')
else
return(frame.args[2]or'')
end
end
--  Given an input area, return a map zoom level to use with mw:Extension:Kartographer in {{Wikidata Infobox}}. Defaults to mapzoom=15. 
functionp.autoMapZoom(frame)
localsize=tonumber(frame.args[1])or0
localLUT={5000000,1000000,100000,50000,10000,2000,150,50,19,14,5,1,0.5}
forzoom,scaleinipairs(LUT)do
ifsize>scalethen
returnzoom+1
end
end
return15
end
functionp.formatLine(frame)
localpart2=mw.text.trim(frame.args[2]or'')
localreturnstr=''
ifpart2~=''then
returnstr='<tr '
if(frame.args.mobileor'n')=='y'then
returnstr=returnstr..'class="wdinfo_nomobile"'
end
localnewframe={}
newframe.args={}
newframe.args.qid=frame.args[1]
returnstr=returnstr..'><th class="wikidatainfobox-lcell">'..mw.getContentLanguage():ucfirst(WikidataIB.getLabel(newframe))
returnstr=returnstr..'</th><td '
if(frame.args.wrapor'n')=='y'then
returnstr=returnstr..'style="white-space: nowrap"'
end
returnstr=returnstr..'>'..part2..'</td></tr>'
end
returnreturnstr
end
functionp.hasValue(tab,val)
forindex,valueinipairs(tab)do
ifvalue==valthen
returntrue
end
end
returnfalse
end
-- baseLang is a utility function that returns the base language in use
-- so for example, both English (en) and British English (en-gb) return 'en'
-- from https://commons.wikimedia.org/wiki/Module:Wikidata2
functionp.baseLang(frame)
localtxtlang=frame:callParserFunction("int","lang")or""
-- This deals with specific exceptions: be-tarask -> be_x_old
iftxtlang=="be-tarask"then
return"be_x_old"
end
localpos=txtlang:find("-")
localret=""
ifposthen
ret=txtlang:sub(1,pos-1)
else
ret=txtlang
end
returnret
end
functionp.langDirection(frame)
locallang=mw.text.trim(frame.args[1]or'')
if(notmw.language.isSupportedLanguage(lang))then
lang=frame:callParserFunction("int","lang")-- get user's chosen language
end
returnmw.getLanguage(lang):getDir()
end
--[[
convertChar returns the non-diacritic version of the supplied character.
stripDiacrits replaces words with diacritical characters with their non-diacritic equivalent.
strip_diacrits is available for export to other modules.
stringIsLike tests two words, returning true if they only differ in diacritics, false otherwise.
stringIs_like is available for export to other modules.
--]]
localfunctioncharacterMap()
-- table with characters with diacrits and their equivalent basic latin characters
localcharMap_from,charMap_to
charMap_from='ÁÀÂÄǍĂĀÃÅĄƏĆĊĈČÇĎĐḌÐÉÈĖÊËĚĔĒẼĘẸĠĜĞĢĤĦḤİÍÌÎÏǏĬĪĨĮỊĴĶĹĿĽĻŁḶḸṂŃŇÑŅṆŊÓÒÔÖǑŎŌÕǪỌŐØŔŘŖṚṜŚŜŠŞȘṢŤŢȚṬÚÙÛÜǓŬŪŨŮŲỤŰǗǛǙǕŴÝŶŸỸȲŹŻŽ'..
'áàâäǎăāãåąəćċĉčçďđḍðéèėêëěĕēẽęẹġĝğģĥħḥıíìîïǐĭīĩįịĵķĺŀľļłḷḹṃńňñņṇŋóòôöǒŏōõǫọőøŕřŗṛṝśŝšşșṣťţțṭúùûüǔŭūũůųụűǘǜǚǖŵýŷÿỹȳźżž'
charMap_to='AAAAAAAAAAACCCCCDDDDEEEEEEEEEEEGGGGHHHIIIIIIIIIIIJKLLLLLLLMNNNNNNOOOOOOOOOOOORRRRRSSSSSSTTTTUUUUUUUUUUUUUUUUWYYYYYZZZ'..
'aaaaaaaaaaacccccddddeeeeeeeeeeegggghhhiiiiiiiiiiijklllllllmnnnnnnoooooooooooorrrrrssssssttttuuuuuuuuuuuuuuuuwyyyyyzzz'
localcharMap={}
fori=1,mw.ustring.len(charMap_from)do
charMap[mw.ustring.sub(charMap_from,i,i)]=mw.ustring.sub(charMap_to,i,i)
end
charMap['ß']='ss'
returncharMap
end
functionp.convertChar(frame)
localch=frame.args.charormw.text.trim(frame.args[1])or""
localcharMap=characterMap()
returncharMap[ch]orch
end
functionp.strip_diacrits(wrd)
ifwrdthen
localcharMap=characterMap()
wrd=string.gsub(wrd,"[^\128-\191][\128-\191]*",charMap)
end
returnwrd
end
functionp.stripDiacrits(frame)
returnp.strip_diacrits(frame.args.wordormw.text.trim(frame.args[1]))
end
functionp.stringIs_like(wrd1,wrd2)
returnp.strip_diacrits(wrd1)==p.strip_diacrits(wrd2)
end
functionp.stringIsLike(frame)
localwrd1=frame.args.word1orframe.args[1]
localwrd2=frame.args.word2orframe.args[2]
ifp.strip_diacrits(wrd1)==p.strip_diacrits(wrd2)then
returntrue
else
returnnil
end
end
functionp.expandhiero(frame,hiero)
-- added by Jura1
-- for string values in Wikihiero syntax
-- inline recommended by https://meta.wikimedia.org/wiki/Help_talk:WikiHiero_syntax#Unwanted_newlines https://en.wikipedia.org/wiki/Help:WikiHiero_syntax
-- maybe not needed in all contexts
returnframe:preprocess('<div style="text-align:center;display:inline"> <hiero> '..hiero..' </hiero> </div>')
end
localfunctionformat2rowline(cell1,cell2)
-- added by Jura1
localtr=""
tr='<tr><th class="wikidatainfobox-lcell" style="text-align: left; vertical-align: text-top;" colspan="2">'..cell1..'</th></tr>'
tr=tr..'<tr><td valign="top" colspan="2">'..cell2..'</td></tr>'
returntr
end
localfunctionformat1rowline(trqid,cell1,cell2)
-- added by Jura1
localtr=""
tr='<tr id="'..trqid..'"><th class="wikidatainfobox-lcell" style="vertical-align: top">'..cell1..'</th>'
tr=tr..'<td valign="top" style="vertical-align: top">'..cell2..'</td></tr>'
returntr
end
functionp.hieroP7383(frame)
-- added by Jura1
-- expand P7383 value in <hiero></hiero> tags	
localqid=mw.text.trim(frame.args.qidor"")
localrows=""
localcheckentry=mw.wikibase.isValidEntityId(qid)
ifnotcheckentrythen
return''
end
localentity=mw.wikibase.getEntityObject(qid)
ifnotentitythen
return''
end
localmylang=frame:preprocess('{{int:lang}}')
ifentity.claimsandentity.claims.P7383then
for_,vinipairs(entity.claims.P7383)do
localidv=v.mainsnak.datavalue.value
ifv.qualifiersandv.qualifiers.P3831then
for_,winipairs(v.qualifiers.P3831)do
ifw.snaktype=="value"then
localqualid=w.datavalue.value["id"]
localencod=mw.wikibase.getEntityObject(qualid)
rows=rows..format2rowline(encod:getLabel(mylang),p.expandhiero(frame,idv))
end
end
else
rows=rows..format2rowline("Name",p.expandhiero(frame,idv))
end
end
end
returnrows
end
functionp.urn(frame)
localqid=mw.text.trim(frame.args.qidor"")
localmylang=frame:preprocess('{{int:lang}}')
localentity=mw.wikibase.getEntityObject(qid)
ifnotentitythen
return''
end
localurn=""
returnurn
--- return "<div style='display:none'>" .. urn .. "</span>"
end
functionp.numberInfo(frame)
-- from additions by Jura1
-- tests at  Category:987_(number)   Category:8_(number)
localqid=mw.text.trim(frame.args.qidor"")
localmylang=frame:preprocess('{{int:lang}}')
localrows=""
localcheckentry=mw.wikibase.isValidEntityId(qid)
ifnotcheckentrythen
return''
end
localentity=mw.wikibase.getEntityObject(qid)
ifnotentitythen
return''
end
ifentity.claims.P487then
for_,vinipairs(entity.claims.P487)do
localidv=v.mainsnak.datavalue.value
ifv.qualifiersandv.qualifiers.P3831then
for_,winipairs(v.qualifiers.P3831)do
ifw.snaktype=="value"then
localqualid=w.datavalue.value["id"]
localencod=mw.wikibase.getEntityObject(qualid)
rows=rows..format1rowline(qualid,encod:getLabel(mylang),idv)
end
end
end
end
end
-- use code/encoding and render as encoding/code
ifentity.claims.P3295then
for_,vinipairs(entity.claims.P3295)do
localidv=v.mainsnak.datavalue.value
localcommonsc=""
ifv.qualifiersandv.qualifiers.P805then
for_,tinipairs(v.qualifiers.P805)do
ift.snaktype=="value"then
localsubjectframe={}
subjectframe.args={}
subjectframe.args.qid=t.datavalue.value["id"]
commonsc=WikidataIB.getCommonsLink(subjectframe)
end
end
end
ifv.qualifiersandv.qualifiers.P3294then
for_,winipairs(v.qualifiers.P3294)do
ifw.snaktype=="value"then
localqualid=w.datavalue.value["id"]
localencod=mw.wikibase.getEntityObject(qualid)
localencodeframe={}
localencodecommons=""
encodeframe.args={}
encodeframe.args.qid=qualid
encodecommons=WikidataIB.getCommonsLink(encodeframe)or""
ifencodecommons==""then
encodecommons=encod:getLabel(mylang)
else
encodecommons="[[:"..encodecommons.."|"..encod:getLabel(mylang).."]]"
end
ifqualid=="Q68101340"then
idv=p.expandhiero(frame,idv)
elseifcommonsc~=""then
idv="[[:"..commonsc.."|"..idv.."]]"
end
rows=rows..format1rowline(qualid,encodecommons,idv)
end
end
end
end
end
ifentity.claims.P7415then
for_,vinipairs(entity.claims.P7415)do
localidv=v.mainsnak.datavalue.value
ifv.qualifiersandv.qualifiers.P3294then
for_,winipairs(v.qualifiers.P3294)do
ifw.snaktype=="value"then
localqualid=w.datavalue.value["id"]
localencod=mw.wikibase.getEntityObject(qualid)
rows=rows..format1rowline(qualid,encod:getLabel(mylang),'[[File:'..idv..'|none|35px|'..entity:getLabel(mylang)..' ('..encod:getLabel(mylang)..')]]')
end
end
end
end
end
returnrows
-- return '<table class="wikitable"><tr><th>Encoding </th><td>code</td></tr>' .. rows ..'</table>'
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan