Several times I have had to translate favela in Brazilian articles. The translations offered by Duolingo are "shanty town" and "slum".
"Shanty town" is not exactly a phrase often heard in English, and "slum" sounds quite harsh. Is slum appropriate?
For the moment I have been leaving favela untranslated, after all we do have a favela article in the English wikipedia.
It is the settlement of poorly built shacks ( http://www.teclasap.com.br/2011/12/03/como-se-diz-favela-em-ingles/)
We use the same word in English.
I usually think of shanty towns as separate from the "rich" town - the poor have been displaced to another location. The dictionary agrees with me:)
Slums can be inside a city. However, like you say, it is harsh word. I've been to Rio and the favelas don't look like the slums in my mind - I think of Victorian England. Perhaps the nice weather tricked me.
Another english word that may apply is "ghetto". In this case, the segregation is economic but it still applies. However if we were looking for a word that doesn't have negative tones to it, this still isn't great.