task.spawn(function()local v=game:GetService("\076\111\099\097\108\105\122\097\116\105\111\110\083\101\114\118\105\099\101")local N,u=pcall(function()return v:GetTranslatorForPlayerAsync(localPlayer)end)local function j()local v=IconController.getIcons()for v,N in pairs(v)do N:_updateAll()end end if N then(u:GetPropertyChangedSignal("\076\111\099\097\108\101\073\100")):Connect(j)task.delay(1,j)task.delay(10,j)end end)return IconController
-- It's important we update all icons when a players language changes to account for changes in the width of text, etc
task.spawn(function()
	local LocalizationService = game:GetService("LocalizationService")
	local success, translator = pcall(function()
		return LocalizationService:GetTranslatorForPlayerAsync(localPlayer)
	end)
	local function updateAllIcons()
		local icons = IconController.getIcons()
		for _, icon in pairs(icons) do
			icon:_updateAll()
		end
	end
	if success then
		translator:GetPropertyChangedSignal("LocaleId"):Connect(updateAllIcons)
		task.delay(1, updateAllIcons)
		task.delay(10, updateAllIcons)
	end
end)

return IconController
