Even in Portuguese and French they can be abit weird, it's just languages and there's really no way around it. As an English person I get this, it's like attempting to explain to a person why do we use "on" for saying "we're on a plane" or "on a bus" when we're actually in them not phisically on them. Then we say we get "in a car" and not "on it" which makes no sense at all but it just comes naturally to us when we speak.
When we were previously discussing a sleeping moose, Älgen sover i natt meant that the moose sleeps tonight. Älgen sover på natten meant the moose sleeps at night. Does this sentence mean I am sleeping for several hours now, this time? And if I wanted to say that I habitually sleep for several hours, would I use på? Tack så mycket!
We do teach få, but I think since that also means "receive" that Duolingo doesn't realise they're different words and hence doesn't show it in red when it first appears.
Also, please note that we make a difference between "several" and "many" throughout the course, so flera only translates to "several" here.
i by thinking: "in the space of" (several hours)
I remember 'för' by thinking: "for the sake of" (several hours)...
I know it must be 'i' because an hour is not a person/entity.
I'm very new at Swedish though, so maybe my mnemonic device will prove erroneous the more I learn!
på is also used for durations, but in the negative. For instance:
- jag har sovit i flera timmar = I have slept for several hours
- jag har inte sovit i flera timmar = I have not slept (continuously) for several hours
- jag har inte sovit på flera timmar = I have not slept (at all) for several hours
"I sleep for several hours" is the default, but bizarre though it might be quite a lot of people actually enter the present continuous as well, and since it's not wrong I figure we do less harm to learners by including it. Maybe we have a lot of sleeptalkers taking the course. :)
"I sleep for several hours" without any context does not sound natural in English (and to be honest, that makes the meaning hard to understand). If the sentence were "I sleep for several hours on Sundays" then it clearly should be translated in the present tense. Otherwise, I would still translate it as "I'm sleeping for several hours," since that's a real sentence even if it's illogical.