How would you say "I have been waiting for you forever" ? I'm having trouble translating "I have been"
While using haber and estar together works perfectly well for translating English's progressive/continuous perfects, there's a more natural way to render them in Spanish using llevar:
- I have been waiting all my life.
He estado esperando toda mi vida. (less natural).
Llevo toda la vida esperando. (more natural)
It's important to note here that such a phrase could have two different meanings, and that subtle changes in the way it's expressed can bring to misleading or confusion.
If you're trying to express that you've found your beloved one whose you were waiting for you should use:
Te he estado esperando toda la vida.
If you're trying to use exaggeration to express that you were waiting for a long period for anyone to arrive, you better use
Llevo esperando por tí toda la vida. Llevo esperándote toda la vida. Llevo esperándote una eternidad.
From a strict point of view, both expressions are valid for the two meanings, however the one with "Llevo" could sound less sweet than the first.