localexport={}-- Used by {{categorize}}functionexport.template_categorize(frame)localNAMESPACE=mw.title.getCurrentTitle().nsTextlocalformat=frame.args["format"]localargs=frame:getParent().argslocallangcode=args[1];iflangcode==""thenlangcode=nilendlocalsort_key=args["sort"];ifsort_key==""thensort_key=nilendlocalcategories={}ifnotlangcodethenifNAMESPACE=="แม่แบบ"thenreturn""enderror("Language code has not been specified. Please pass parameter 1 to the template.")endlocallang=require("Module:languages").getByCode(langcode)ifnotlangthenifNAMESPACE=="แม่แบบ"thenreturn""enderror("The language code \""..langcode.."\" is not valid.")endlocalsuffix,prefix="",""ifformat=="pos"then--prefix = lang:getCanonicalName() .. " "suffix=lang:getCategoryName()elseifformat=="topic"thenprefix=lang:getCode()..":"endlocali=1localindividual_sort_keys={}localhas_individual_sort_keys=falsewhileargs[i+1]dolocalcat=args[i+1]localindividual_sort_key=args["sort"..i]ifcat~=""then--table.insert(categories, prefix .. cat)--เขียนใหม่เพื่อใช้กับไทยifformat=="pos"thenifmw.ustring.find(cat,"^ศัพท์")thentable.insert(categories,"ศัพท์"..suffix..mw.ustring.sub(cat,6))elsetable.insert(categories,cat..suffix)endelseifformat=="topic"thentable.insert(categories,prefix..cat)endifindividual_sort_keythenindividual_sort_keys[#categories]=individual_sort_keyhas_individual_sort_keys=trueendendi=i+1endifhas_individual_sort_keysthenlocalcategories_with_sort_keys={}fori,categoryinipairs(categories)dotable.insert(categories_with_sort_keys,{category=category,sort_key=individual_sort_keys[i]})endreturnrequire("Module:utilities/format_categories_with_sort_keys")(categories_with_sort_keys,lang,sort_key)elsereturnrequire("Module:utilities/format_categories")(categories,lang,sort_key)endendreturnexport