Read This Before Starting The Present Perfect Skill
These lessons can be frustrating. The problem stems from the fact that literal translations of the Portuguese sentences you are about to see can lead you to false conclusions about the meaning they should convey in English. Another problem is that some of those false translations have found their way back into the system.
Another user Riley (r_i_l_e_y) put together a note about this problem some time ago. Here it is: http://www.duolingo.com/comment/451217 (The direct link does not work and this is a PDF copy of the original thread courtesy of argovela).
By placing this comment in the appropriate Skill Discussion area I hope to bring Riley's note to everybody's attention at the time it can do the most good, that is before you start the skill.
I have no idea why the link is dead. Anyway, here is a fairly technical article that may help (it looks at things from a Brazilian learning English perspective):
http://www3.telus.net/linguisticsissues/presperfect.html [sadly now a dead link]
This is a slightly simplified summary:
The first example there shows the problem: "Ele tem bebido demais" has the literal translation "He has drunk too much" (and many Brazilian learners of English will tell you that is what it means), but a better translation is "He has been drinking too much" which is not the present perfect but the present perfect continuous.
No hope for the dead links huh? Or any alternate link where we can find a good lesson for the topic?
Did you look at Erik Spen's page? Danmoller has some notes on the Portuguese "pretérito perfeito composto" here: https://www.duolingo.com/comment/1483888 If you are already reasonably comfortable with Portuguese you may gain some insights into the Brazilian view by reading: http://www.sk.com.br/sk-perf.html
All I can say is that translating from or translating to "ter (present) + past participle" needs some care and don't expect literal translations to work (although they can do when adverbs of time are added, something sadly missing from many of Duolingo's sentences). One other thing that can lead to difficulties is a Portuguese speaker's ability to swallow some expressions which can sound a little odd in English such as "I have been understanding it", "I have been needing it", and "I have been knowing it", for example.
If all you want to do is to get through Duolingo's present perfect skill, translating the "pretérito perfeito composto" (e.g. "tenho feito") to the present perfect continuous (e.g. "have been doing") and not the present perfect ("have done") is the best advice I can give you.
:( What a hard thing to wrap my head around... this sentence -- Há dez anos que vou a Mallorca todo ano. = I’ve been to Mallorca every year for the last ten years. I got it´s been ten years since I´ve been to Mallorca every year. Hrmmm headache
Do you mean Riley's link? Unfortunately, that was deleted for some unknown reason. Danmoller has written more on the subject recently: https://www.duolingo.com/comment/12292400
[Edit: argovela has managed to retrieve the link and has made a PDF copy: https://app.box.com/s/qaytnhb241175ypr7z5l0276bx300s3c ]