Ambos verbos pueden ser traducidos al español como decir, es por ello que pueden generar confusión. Hay muchas explicaciones un tanto confusas respecto al uso de estos dos verbos, sin embargo en este artículo trato de explicar las diferencias más importantes.
Las diferencias más importantes son:
Cuando usamos el verbo tell decimos inmediatamente después el sujeto después del verbo, ejemplo:
She told me that* she was angry. Ella me dijo que estaba enojada.
My mother always tells me the same thing. Mi mama siempre me dice la misma cosa.
John told Mary about his problems.
*El uso de that puede ser omitido.
(Nótese que en todos los ejemplos el sujeto está directamente después del verbo tell.)
Por otro lado cuando usamos el verbo say, no utilizamos el sujeto directamente después, si no que estamos reportando lo que alguien dijo. Podemos citar exactamente las mismas palabras que la persona dijo o bien solo reportar lo que se dijo.
Ejemplos:
He said I am tired. El dijó estoy cansado.
He said that* he was tired. El dijo que estaba cansado.
Mary didnt say that. Mary no dijo eso.
What did she say to you? ¿Qué te dijo?
(Nótese que en los tres primeros ejemplos no se especifica a quien se le dice, solo se reporta quien dijo y que dijo.)