In one of the movies I encountered a situation in which one employee tells that "he worked hard to make this happen" (original movie is in English). In English gramatically it is correct - he worked hard for some period of time in the past to make this happen. But in Spanish version of the movie (translated into Spanish, with subtitles) he said:
He trabajado duro para ello.
I need to add small detail - I watched with translation for Spain, not Latin America. I am aware of the fact that in Spain people use pretérito perfecto compuesto for events happened very recently in the past, while in Latin America this construction is not widespread and usual pretérito perfecto (yo trabajé) is used mostly even for very recent past events.
But here this employee doesn't refer to action(s) he did today or even this week. He is talking about long period of time, as you can guess. So I would say "Trabajé duro para ello" (at least I think this would not be a mistake). In fact, this is not the first time I encounter usage of pretérito perfecto compuesto for past actions not necesarily happened today. But I was in doubt, maybe translators did mistakes in such cases, translating literally construction "I have done" from English (in English this construction has more uses and nuances of usage).
The questions are:
1) Why this employee used this construction?
2) What are other uses of pretérito perfecto compuesto, besides telling about very recent past events? Asking this because it seems based on such examples as there are some uses. I only know that pretérito perfecto compuesto also is common when word "ya" is used in a sentence, like in 2 examples below (still, these are recent events):
Ya han comido. = They have already eaten.
¿No han salido ya las mujeres? = Haven’t the women left yet?
P.S. I changed subtitles and translation of this movie scene into Latin American Spanish and this time employee in Spanish said the following:
In speech: Trabajé muy duro...
In subtitles: He trabajado muy duro...
There is a discrepancy between speech and subtitles translation because movie is in English, in such cases speaking and subtitles (their translation) never correspond (only if you watch original Spanish movie with Spanish subtitles).