Why not "my parents were at the restaurant", since "ser" and "ir" have the same past tense forms?
That's the difference between ser and estar.
For people (movable things) in places, verb "ser" does not apply. Only verb "estar", which talks about their current location.
This way, in order to mean "were at the restaurant" you must use "estiveram" or "estavam", but not "foram" or "eram".
Switching the verbs to a non-ambiguous tense does reveal the impossibility of it being the verb "ser" ("Eles eram ao restaurante" is fantastic gibberish, but gibberish nonetheless).
Whenever the verb ir ("foram") is used for an action where the people mentioned haven't returned yet, it is a perfect match to the English "have gone" - see here, with the verb estar ("estiveram") being a match with "have been" (they were there in the past, but they're not there anymore).
However, "foram" is just a movement verb, it says nothing about whether they are still there or not. It just says they went there. It matches both "went" and "have gone".
Now "estiveram", being a presence verb, implies they are not there anymore (otherwise it would be "estão"). It matches both "were" and "have been at".
For idiomatic reasons "foram" can also be used for "have been to" in some cases, specially when traveling among countries.
I think that needs the preposition "em" not "a". Another possibility for "foram" from "ir" is "My parents have gone to the restaurant" and perhaps "My parents have been to the restaurant" translates "foram" from "ser".
[Added much later: Sorry, I must have written this comment without engaging my brain!]
I thought it was "ser" rather than "ir" because the present perfect of go is has/have gone whereas the present perfect of be is has/have been. Of course, now you've pointed it out, it is obvious, even to me, that "foram" can't be a version of "ser" here.
Just to be clear, though, is "My parents have been to the restaurant" a valid translation? I had some doubt when you mentioned in another comment that it would only work in some cases.
In an idiomatic usage of Portuguese, I'd probably not mind this verb change, but you are (very) right saying that:
- go = ir / have gone = foram
- be = estar / have been = estiveram
It's quite a subjective matter, though, some people may disagree (and I wouldn't try hard to hold my position).
But it's more common in Brazil to use "foram" ao restaurante instead of "estiveram", particularly in the "been to country X" case.
After coming back home, we would rather say "eu fui à Itália, à França e a Portugal" than say "eu estive na Itália, na França e em Portugal", a case where English would "probably" (correct me if wrong) prefer "have been to".
In this restaurant sentence, though, I would stick to the standard answers to avoid confusion.
Thanks. You're right, if I was back home, I'd say "I've been to Italy" rather than "I've gone to Italy".
Yes. Past tense of "ir". (Vão is also "ir" in present for plural third person).
Crikey! So 'foram' comes from 'ir' = 'to go'? Where would I find how to conjugate 'ir' - and learn all its various tenses?
Obrigado, Paulenrique. That site is exactly what I need to brush up on conjugations and tenses to get my studies back on track. Your help is definitely worth a lingot, Take one!