la cosa più corretta è non utilizzare echo.
Tanto nel momento della chiamata della funzione, la printf prevede già la stampa a video.
Se utilizzare o meno il return sta a te. Se vuoi sapere quanti dati sono stati stampati usa il return, se no no.
se fai $caratteri = translate(...)
a video avrai la stringa stampata, mentre nella variabile $caratteri avrai il numero di caratteri stampati che potrai usare in tutti i modi che vorrai.