-- extracting Q titles from wikilinks like [[d:Q1]], [[:d:Q1]], [[wikidata:Q1]], [[d:Q1|Q1]] or [[d:Q1|plop]]localfunctionqid_from_wd_wikilink(link)localattempt=link:gsub("^%[%[:?d:",""):gsub("^%[%[:?wikidata:",""):gsub("%|.*%]%]$",""):gsub("%]%]$","")ifattempt:find("^Q[0-9]+$")thenreturnattemptendendlocalfunctionqid_from_any(input,erreur_si_non_trouve,test_redirection)localattemptattempt=qid_from_wd_wikilink(input)ifattemptthenreturnattemptendlocaldecodedInput=mw.text.decode(input)-- in case template family like {{PAGENAME}} with its bug are usedlocaltitle=mw.title.new(decodedInput)ifnottitlethenerror('عنوان «'..input..'» معتبر نیست')endattempt=mw.wikibase.getEntityIdForTitle(title.prefixedText)ifattemptthenreturnattemptendiferreur_si_non_trouvetheniftest_redirectionandtitle.isRedirectthenerror("عنوان «"..input.."» تغییر مسیری است که به آیتم ویکیداده پیوند نشده")elseerror("جستاری با عنوان «"..input.."» وجود ندارد یا به آیتم ویکیداده پیوند نشده")endendendreturn{numero=function(frame)ifframe.args[1]==''thenerror("عنوان جستار در الگو (احتمالا « شماره کیو ») یافت نشد، این پارامتر اجباری است")endlocalerreur_si_non_trouve=trueifframe.args["erreur si non trouvé"]=="no"thenerreur_si_non_trouve=falseendlocaltest_redirection=trueifframe.args["test redirection"]=="no"thentest_redirection=falseendreturnqid_from_any(frame.args[1],erreur_si_non_trouve,test_redirection)or''end,_numero=qid_from_any}