Can this also work: "Maybe he had mistaken you for a foreigner." ? Or it has to be "ti aveva scambiato" in that case ?
Taken for preso is more literal, and it's very colloquial in both languages; I don't think there would be any significant difference in meaning using scambiato and mistaken.
Really surprising (a nice one I suppose) that this idiom is the same in Italian. They must have pinched it :)
I'm just confused why it's not aveva presa*
It could be if you translate it all to the feminine: "forse lui ti aveva presa per una straniera". In cases such as this, however, the participle agreement is optional, i.e. "forse lui ti aveva preso per una straniera" is acceptable as well.
What about "Maybe he'd considered you a foreigner"?
again, what's the difference between "avere + preso" and "essere + preso"? I noticed both.
What is the difference between "foreigner" and "stranger"?
I'm assuming English is not your native language.
A stranger is simply a person you do not know. The word has nothing to do with the person's origin.
A foreigner is a person from a different country. The word does not reflect at all on whether you know the person.
Why is it uno not un?
because of the "str" in straniero. It would be " lo" for the definite article, not "il" as well.
I hate it when DL corrects only my English...