localp={}localPAGENAME=mw.title.getCurrentTitle().textlocalm_unicode=require("Module:Unicode data")localm_data=require("Module:also/processed data")-- this contains only existing pagesfunctionget_hashkey(word)buffer=mw.ustring.toNFKD(mw.ustring.lower(word))fork,vinpairs(m_data.customkeys)dobuffer=mw.ustring.gsub(buffer,k,v)endhashkey={}forcpinmw.ustring.gcodepoint(buffer)dotable.insert(hashkey,is_valid(cp)andmw.ustring.char(cp)or"")endreturntable.concat(hashkey)endfunctionis_valid(cp)category=m_unicode.lookup_category(cp)return(category:match("^[LN].$")orcategory=="Mc")-- can't rely on built-in %w classendfunctionp.main(frame)localhashkey=get_hashkey(PAGENAME)localdata=m_data.lookups[hashkey]or{}fori,vinipairs(frame:getParent().args)do-- if it has manual paramstable.insert(data,v)endif#data==0thenerror("This term does not exist in 'Module:also/processed data' and no parameter is given.")endlocalnew_frame=frame:newChild{title=frame:getTitle(),args=data}functionnew_frame:getParent()returnselfendreturnrequire('Module:also').main(new_frame)endreturnp