「私は彼女にプレゼントをあげました」は
I gave her a birthday present.
となります。
または
I gave her a dozen roses for her birthday.
「彼女の誕生日にバラを12本あげた」
のようにも言えます。
ここでは、現在完了形は使えません。通常、現在完了形は経験や継続を言うときに使うことが多いので、この場合は経験ではなく単純過去ですよね。
現在完了形で give を使うことはできますよ。
例:
I have given my son clothes for his birthday in the past, but he would rather have sporting goods.
「過去に息子の誕生日に洋服をあげたことがあるが、彼はスポーツ用品をもらう方が良い」
昔息子の誕生日に洋服をあげたけが、息子は洋服よりスポーツ用品の方が欲しかった、というこの人の経験を話しているので、ここでは現在完了形が使えるわけです。
ご参考まで!
Don’t worry, I have given her a birthday present this year.
こんにちは!
ご質問ありがとうございます。
先のアンカーさんが回答されておりますので、ここでは他の例を挙げてみます。
I got her a birthday gift.
とすると、「彼女に[誕生日プレゼント](https://eikaiwa.dmm.com/uknow/questions/5664/)を買いました。」となります。
Don’t worry, I have given her a birthday present this year.
とすると、「心配しないで、今年はもう彼女に誕生日プレゼントをあげました。」となります。
役に立ちそうな単語とフレーズ
get someone ~ for his birthday 誕生日祝いに~を買ってあげる
参考になれば幸いです。