وحدة:Category pair
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png)
require('Module:No globals') local getArgs = require('Module:Arguments').getArgs local hatnote = require('Module:Hatnote')._hatnote local formatLink = require('Module:Format link')._formatLink local p = {} local catNS = mw.site.namespaces.Category.id -- category namespace number -- Lua implementation of [[Template:CategoryPair]] -- Arguments: -- prevTitle -- mw.title.Title object for preceding category -- nextTitle -- mw.title.Title object for succeeding category -- Returns: -- hatnote that says "see also" for one or both of prev/next (depending on whether they exist) function p._pair(prevTitle, nextTitle) prevTitle = prevTitle and prevTitle.exists and formatLink{link = prevTitle.fullText} nextTitle = nextTitle and nextTitle.exists and formatLink{link = nextTitle.fullText} local note = '' if prevTitle and nextTitle then -- if both note = mw.ustring.format('طالع أيضًا %s السابق، و%s اللاحق.',prevTitle, nextTitle) elseif prevTitle then -- if only prevTitle note = mw.ustring.format('طالع أيضًا %s السابق.', prevTitle) elseif nextTitle then -- if only nextTitle note = mw.ustring.format('طالع أيضًا %s اللاحق.', nextTitle) else -- otherwise neither return mw.title.getCurrentTitle().namespace == catNS and '[[تصنيف:صفحات تستخدم قالب:تصنيف مرتبط بدون مخرجات]]' or '' end return hatnote(note, {extraclasses = 'seealso'}) end function p.catPair(frame) local args = getArgs(frame, {wrappers={'قالب:تصنيف مرتبط'}}) local prevTitle = args[1] and mw.title.new(args[1],catNS) local nextTitle = args[2] and mw.title.new(args[2],catNS) return p._pair(prevTitle, nextTitle) end function p.prevCat(frame) local args = getArgs(frame, {wrappers={'قالب:التصنيف السابق'}}) local prevTitle = args[1] and mw.title.new(args[1], catNS) return p._pair(prevTitle, nil) end function p.nextCat(frame) local args = getArgs(frame, {wrappers={'قالب:التصنيف اللاحق'}}) local nextTitle = args[1] and mw.title.new(args[1], catNS) return p._pair(nil, nextTitle) end return p