localp={}functionp.wikidatacheck(frame)localpframe=frame:getParent()localconfig=frame.args-- the arguments passed BY the template, in the wikitext of the template itselflocalargs=pframe.args-- the arguments passed TO the template, in the wikitext that transcludes the templatelocalproperty=config.propertylocalvalue=config.valueor""localcatbase=config.categorylocalnamespaces=config.namespaceslocalnocatsame=config.nocatsameor""localok=false-- one-way flag to check if we're in a good namespacelocalns=mw.title.getCurrentTitle().namespaceforvinmw.text.gsplit(namespaces,",",true)doiftonumber(v)==nsthenok=trueendendifnotokthen-- not in one of the approved namespacesreturn""endlocalentity=mw.wikibase.getEntityObject()ifnotentitythen-- no Wikidata itemreturn"[[Thể loại:"..catbase.." không có trên Wikidata]]"endifvalue==""thenreturnnil-- Using Wikidataendlocalclaims=entity.claimsor{}localhasProp=claims[property]ifnothasPropthen-- no claim of that propertyreturn"[[Thể loại:"..catbase.." không có trên Wikidata]]"-- bad. Bot needs to add the propertyendfori,vinipairs(hasProp)do-- Now we try to iterate over all possible values?propValue=(v.mainsnak.datavalueor{}).valueifpropValue==valuethenifnocatsame==""thenreturn"[[Thể loại:"..catbase.." giống như Wikidata]]"-- yay!elsereturnnil-- if nocatsame, the "same as" category is not addedendendendreturn"[[Thể loại:"..catbase.." khác với Wikidata]]"-- needs human review :(endreturnp