Just replace esx translate system,

Client : main.lua

local voice = {default = 5.0, shout = 12.0, whisper = 1.0, current = 0, level = nil}

function drawLevel(r, g, b, a)
	SetTextFont(4)
	SetTextScale(0.5, 0.5)
	SetTextColour(r, g, b, a)
	SetTextDropshadow(0, 0, 0, 0, 255)
	SetTextDropShadow()
	SetTextOutline()

	BeginTextCommandDisplayText('STRING')
	AddTextComponentSubstringPlayerName('~y~Voice: ~s~' .. voice.level)
	EndTextCommandDisplayText(0.175, 0.92)
end

AddEventHandler('onClientMapStart', function()
	if voice.current == 0 then
		NetworkSetTalkerProximity(voice.default)
	elseif voice.current == 1 then
		NetworkSetTalkerProximity(voice.shout)
	elseif voice.current == 2 then
		NetworkSetTalkerProximity(voice.whisper)
	end
end)

Citizen.CreateThread(function()
	while true do
		Citizen.Wait(1)

		if IsControlJustPressed(1, 74) and IsControlPressed(1, 21) then
			voice.current = (voice.current + 1) % 3
			if voice.current == 0 then
				NetworkSetTalkerProximity(voice.default)
				voice.level = 'normal'
			elseif voice.current == 1 then
				NetworkSetTalkerProximity(voice.shout)
				voice.level = 'shout'
			elseif voice.current == 2 then
				NetworkSetTalkerProximity(voice.whisper)
				voice.level = 'whisper'
			end
		end

		if voice.current == 0 then
			voice.level = 'normal'
		elseif voice.current == 1 then
			voice.level = 'shout'
		elseif voice.current == 2 then
			voice.level = 'whisper'
		end

		if NetworkIsPlayerTalking(PlayerId()) then
			drawLevel(41, 128, 185, 255)
		else
			drawLevel(185, 185, 185, 255)
		end
	end
end)