A: My grandma is 95. B: She has lived a long life.
A: My grandma was 95 when she passed away. B: She lived a long life.
例文1は、まだご健在の場合です。has livedは現在完了形の継続なので、「長い人生を生きてきた」というニュアンスになります。
例文2は、お亡くなりになっている場合です。
A: おばあちゃんは亡くなった時95歳でした。
B: 長生きされたね。
余談ですが、、、
She is getting along in years. 「彼女はもう歳だ」
という言い方が頭に浮かんだのでこちらもご参考まで!
Have a long life を日本語に直訳すると、「長生きする」ではなく、「長い命だ」という感じになります。
逆に、「短い命」もhave a short lifeと言えます。
例
とても長生きだったね。
She had a very long life.
例
きっと長生きするね。
I’m sure you’ll have a long life.