It's not that the wife is not pretty, it is that the sentence has been constructed as a device to help us learn the word for "beautiful".
"Pretty" has it's own distinct french translation and to accept "pretty" here could - potentially - lead someone to assume that "belle" means "pretty" as well and never learn that "pretty" actually has it's own word. Then end result being a tiny, but non-negligible, limitation on one's vocabulary.
I wrote "pretty" and the app demanded that I write, "My wife is handsome". Handsome is used, by Americans at least, almost exclusively for men. A wife is usually a woman, so unless we are in the numerically less-common context of gay marriage, requiring that I translate "belle" as "handsome" is just ridiculous.
When two words in one language have the same meaning, one is not the "direct translation" to the exclusion of another. The distinction that Duolingo draws between "pretty" and "beautiful" is completely artificial. I guess you could trace both "belle" and "beautiful" to the Latin "beata," but in a Germanic language spoken about 1,500 years after Latin turned into a slew of Romance languages, I don't really think that's relevant. Really, the words are synonyms, and the biggest distinction is that one might use the longer one in order to seem smarter.
I would be very interested to see if someone like Richard Wilbur (a translator of French literature into English) considers the distinction important. I very much doubt that he would.
"Ma femme" is how it's said, not "my woman".
I know, you didn't mean it like that, but that's just the point - French and English are two different things. If we try to directly translate French into English and then pull the meaning from the result we're bound to lose something, or worse: change the perceived meaning (as seen in this example).
So instead of seeing "ma femme" as "my woman" see it instead as a French way of saying "my wife".