Questions & Answers about На день рождения я хочу подарить маме тёплый шарф.
These two mean different things.
- на день рождения = for a birthday / as a birthday present / for the birthday occasion
- в день рождения = on the birthday itself (on that day)
So in this sentence, На день рождения tells you the occasion/purpose of the gift, not the exact day when the action happens.
Compare:
- На день рождения я купил торт. = I bought a cake for the birthday
- В день рождения я купил торт. = I bought a cake on the birthday
День рождения is a fixed expression meaning literally day of birth.
- день = day
- рождение = birth
- рождения = of birth (genitive)
So Russian expresses birthday as the day of birth.
In на день рождения, only день changes because it is the main noun after на:
- на день = for/on the day
But рождения stays genitive because it depends on день inside the phrase день рождения.