När sidor kategoriseras sorteras enligt standardalgoritmen för svenskspråkiga Wiktionary så sorteras de i en ordning som inte alltid stämmer överens med det aktuella språkets regler. Exempelvis sorteras ä och ö framför å, vilket blir fel för svenska. Olika språk har olika regler och dessa regler hämtas från Modul:lang som har dessa sorteringsregler och annan språkrelaterad information sparad i Modul:lang/data.
local sort = require("Modul:sort")
local sort_code = sort.getSortKey("sv", "sidnamnet")
Modulen används endast av andra moduler, och inte direkt från mallkoden. Mallar bör istället använda Modul:categorize för att skapa kategorier där sorteringsnyckeln är inkluderad.
Den textsträng som returneras är sidnamnet som skickas in, efter det att särskilda operationer utförts som delvis är beroende på språk.
1= språkkod (bör anges, annars tilldelas "xx" som språkkod)
Språkkoden anges för att kunna använda sig av de speciella sorteringsregler som finns för det aktuella språket.
Om språkkoden är "xx" används inga speciella sorteringsregler.
Om språkkoden inte existerar blir resultatet samma som om språkkoden hade varit "xx".
2= sidnamnet (om utesluts eller lämnas tom, kommer textsträngen som returneras att vara tom).
1. Ett antal tecken plockas bort från textsträngen: .,&!-/:"'$()*+\;=?~% samt mellanrum.
2. Gör om hela textsträngen till gemener (vi vill att "A" ska sorteras på samma sätt som "a").
3. Ta bort alla diakriter enligt Modul:sort/data-diacritics. "å" görs om till "a", "é" görs om till "e" osv. Men hantera varje språks speciella regler. För svenska, t.ex., ska "å" inte göras om till "a" utan till "z~" (vilket betyder "sortera direkt efter "z").
4. Applicera en speciell algoritm på strängen så att inkluderade nummer sorteras i nummerordning, dvs. att 99 sorteras före 100. Detta görs genom att lägga till ett prefix framför numret med det antal ":"-tecken som är antalet siffror i talet.
5. Efter att ovanstående punkterna har gåtts igenom kan textsträngen returneras.