How does しばらく work with ていない?


>
> [私たちはしばらく肉を食べていない。](http://classic.jisho.org/sentences?jap=%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E3%81%97%E3%81%B0%E3%82%89%E3%81%8F%E8%82%89%E3%82%92%E9%A3%9F%E3%81%B9%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84&eng=)
>
> We have eaten no meat for several days.

I don't get how you get the meaning of "have not eaten for several days" from
"しばらく肉を食べていない." I can only see it being "we will not eat meat for several
days." If it means "have not eaten for several days" why isn't it
しばらく肉を食べていなかった? しばらく with ていない makes sense in past and future tense, but I
don't get how it works with the present tense.




しばらく means "for a while" and the form 〜ている is used for progressive tense (as
explained
[here](http://www.guidetojapanese.org/learn/complete/progressive_tense) for
example) which corresponds either to present perfect or present continuous in
English. In this context it is present perfect and both sentences (Japanese
and English) match.

〜ている / 〜ていない are not used for future tense.

> why isn't it しばらく肉を食べていなかった?

Because that's past (progressive) tense and English "have not eaten for a
while" is present tense. Of course it is perfectly correct, but means "had not
eaten meat for a while (when something happened)" or "had not been eating meat
for a while".

