Non-systemic uses of hacer in the present
The verb hacer is regularly used under certain conditions in the present tense to communicate present perfect meaning (“have done,” “has spoken,” “have been reading,” etc.). As the actual tense and the translation do not correspond to each other, this use of hacer may be called non-systemic, as it does not conform to the verb systems of Spanish or English.
A recent past action that continues into the present or has bearing on the present typically is expressed by the present perfect in English (e.g., “My mother has been ill recently.”) This would also take a present perfect tense in Spanish (see section 10.6), but it is equally common to see this expressed as:
hace + duration of time + que + verb in the present tense
|Hace dos días que ella no quiere comer.||She has not wanted to eat for two days.|
(Avoid the literal translation: “It makes two days that she does not want to eat.”)
The word order may also vary and in this case the word desde is added without changing the meaning:
verb in the present tense + desde hace + duration of time
|No quiere comer desde hace dos días.||She has not wanted to eat for two days.|
Non-systemic uses of hacer in the past
Hacer may be used in the third-person singular of the imperfect tense, following the same formula to render past perfect meaning (“had done,” “had spoken,” “had been reading,” etc.):
hacía + duration of time + que + verb in the imperfect tense
|Hacía dos días que no quería comer.||She had not wanted to eat for two days.|
Again, the word order may vary and when this occurs the word desde is added without changing the meaning:
verb in the past tense + desde hacía + duration of time
|No quería comer desde hacía dos días.||She had not wanted to eat for two days.|
As this construction is extremely frequent in Spanish, learn the following formulas:
|hace + duration of time + que + present tense||=||present perfect meaning|
|hacía + duration of time + que + imperfect tense||=||past perfect meaning|
In other words, when both tenses match in the present or imperfect tenses, and all other necessary elements are present, the meaning or the translation of the sentence will be non-systemic, i.e., it will not correspond to the tenses used to achieve it:
|Hace cuatro años que viven en Suiza.||They have lived (have been living) in Switzerland for four years.|
|Hacía muchos veranos que pasaban vacaciones en Sitges.||They had spent (had been spending) vacations in Sitges for many summers.|
As seen above, you have the option of translating this construction in a progressive form whenever it sounds appropriate or better than the non-progressive rendering.
Ago in Spanish
Hace also means “ago.” This occurs, unlike in the above cases, when the tenses of the sentences or clauses do not correspond. (Remember that, grammatically, hace, although not translated as such, is still a verb.) In theory, when meaning “ago,” hace may combine with any logical tense, though it is most frequently seen with the preterite:
|Terminé el proyecto hace dos horas.||I finished the project two hours ago.|
If the word order is changed so that the sentence begins with hace, the word que is normally inserted after the expression of duration of time and is not translated:
|Hace dos horas que terminé el proyecto.||Two hours ago I finished the project.
I finished the project two hours ago.
To repeat, when the two tenses match (are in the same tense) and the other conditions mentioned are present, the non-systemic meanings will be invoked. When the verb tenses do not match, hace means ago.
¡Ojo! Be careful not to confuse the preposition hacia (no accent) (“toward”) with hacía. Context should leave no doubt as to meaning:
|Venía hacia mí.||She was coming toward me.|
|Venía aquí desde hacía años.||She had been coming here for years.|
Remember that hacer is also used in the third person in a number of weather expressions (section 4.2).
inundar- to flood, inundate
tronar (ue)- to thunder
el cielo- sky, heaven (cognate: celestial)
la estrella- star (cognate: stellar)
la inundación- flood, inundation
la luna- moon
los relámpagos- lightning
la tempestad- storm
la tormenta- storm
el trueno- thunder
templado- mild (cognate: temperate)