Yes, absolutely. The literal translation becomes incorrect grammar in English. I wonder if this is the same in the reverse tree, that is, are they teaching a mistake to learners of English?
They were trying to say that he hasn't spoken since dinner. Something happened at dinner to offend him and he hasn't spoken since then.
There's a slight difference of meaning when you use the definite article. "He hasn't spoken since the dinner" carries a connotation that this was a special dinner - a dinner party, celebration meal etc. "Since dinner" means since that (routine) meal. Put in other words, "since dinner" = he hasn't spoken since having (since he had) dinner. "Since the dinner"= "he hasn't spoken since he was at (he attended) the dinner.
Now to correct this sentance would be He has not spoken since dinner time
is there a difference between to have been speaking and to have spoken in portuguese in this case is there any reason has been speaking is rejected over has spoken. Also in no context here would anyone english say he isn't speaking since dinner, it's not something that directly translates like that
"He does not speak since dinner" is technically okay, but it would never be used in colloquial English.
I'm gonna disagree here. For an action that started in the past and continues without interruption until the present, English uses the present perfect - in this case, "has (not) spoken."
Edit to add: That's not to say that it's not useful as a lesson, because it helps the student learn that Portuguese uses a different tense to get this idea across.