Translation:I waited for three hours.
Open google translate to get close to accurate translation. Seems like hovering on some of the words will give you cancer.
This is why duolingo should try to introduce more kanji. It would make stuff like this much easier!
まち does mean town in some contexts. The hints just list the possibilities for that word regardless of context. It doesn't mean that everyone of the hints listed is appropriate for that particular Duolingo sentence. In this sentence, I could tell that まち wasn't a noun here because it was clearly part of the verb.
待 is the kanji for "to wait", as in 待つ (matsu). "to hold" is 持つ (motsu). if you pay close attention to the left side of each kanji, you will notice the kanji 持つ's radical for hand (扌). I don't know much about radicals, but the kanji for hand (手) is pretty easy to remember and so is its radical (which helps a lot in this case). Not sure if that answers your question though e.e
Why is the correct translation in simple past instead of present perfect? As far as I know, both translations should be accepted since Japanese does not differentiate both tenses, unless the context points which one is best to use.
as to me, it is a terrible error to forgive the subject in a Japanese phrase.
7 ways to say "I". Damn'it Duo, USE ONE OF THEM!!
That's how Japanese works. It's not a problem with Duo. The only problem would be if they only accepted one answer or not all the possible answers. But in Japanese, you drop the subject except if the other has no way to know it otherwise.