I find it amusing that the word used for the evening meal means mid day..... Presumably because historically the main meal of the day would have been eaten then?
So do I. My (non-Swedish) dad insisted my entire childhood that Swedes are idiots for using middag in the evening. It still sounds wrong to me. I like your grandma. :)
There is still a fierce debate between those who have dinner (the main meal) in the middle of the day and those who have dinner in the evening. So, it's either breakfast, dinner, tea, supper, or breakfast, lunch, dinner. (And as for just when tea time is...)
I think in that case we can agree on that dinner refers to the main meal of the day. Yes, every doctor will tell you that the most important meal of the day is breakfast, but usually dinner is the main meal where we eat something warm, sometimes with many courses and usually more or less elaborate (breakfast for me is mostly just a coffee with two toasts). Depending on your daily time schedule and lifestyle, you might eat dinner more or less early and instead eat something in between.
I wrote "We eat salmon at dinner tonight" and was marked wrong. It seems to convey the same meaning. Is it because "till" won't stretch that far? One other unrelated question I've been meaning to ask. I once learned kväll as evening and natt as night but often see them used interchangeably. So maybe natt is for after midnight but up until then either works?