Według mnie, obie są poprawne i znaczą prawie to samo.
How long have you been here?- Jak długo tu jesteś? Wymaga odpowiedzi: I have been here for two months.
Have you been here long?- Długo tu jesteś? Wymaga odpowiedzi: Yes, I have/ No I haven't.
Jest to pytanie ogólne czyli takie na które odpowiadamy "tak" lub "nie" w czasie Present Perfect.
Takie pytania tworzymy przez inwersję. Spełnia ona podobną rolę jak wyraz "czy" w jęz. polskim.
Podane zdanie "Have you been here long?" oznacza "Czy długo tutaj jesteś?"
Natomiast zaproponowane przez Ciebie zdanie "How long have you been here?" oznacza "Jak długo tutaj jesteś?" i jest pytaniem szczegółowym, czyli wymagającym szczegółowej odpowiedzi.
W takich pytaniach przed inwersją występuje wyraz pytający.
Wykup dostęp, aby dodać komentarz.