For, since y ago: el lío que empieza cuando traduces "hace"
Una sola palabra en español, "hace", se reparte en inglés entre for, since y ago. La pregunta que resuelve casi todos tus errores.
- gramática
- errores comunes
- preposiciones

Dices I live here since three years y te entienden, pero algo cruje. Dices I have arrived two weeks ago y vuelve a crujir. No es tu vocabulario ni tu nivel: es que en español dices "hace tres años", "desde hace tres años" y "desde 2019" sin pensarlo, y tu cabeza envía las tres al mismo sitio.
El inglés parte ese territorio en tres piezas que no se tocan. For mide cuánto dura algo. Since marca el punto donde empezó. Ago cuenta hacia atrás desde hoy hasta un momento ya cerrado. Antes de abrir la boca solo tienes que contestar una pregunta: ¿estás diciendo cuánto tiempo, desde qué punto, o hace cuánto? Esa pregunta resuelve la mayor parte de tus errores, y no es un problema menor: en un corpus de 304 redacciones de universitarios españoles con 15.850 errores etiquetados a mano, las preposiciones concentran el 14% de todos los fallos gramaticales.
For mide un período, since marca un punto
La regla base cabe en dos líneas del Cambridge Dictionary: for va con un período de tiempo, since va con un punto en el tiempo. They've lived in Oxford for a couple of months frente a They've lived in Oxford since 2004. El mismo hecho, medido de dos maneras distintas.
El fallo aparece cuando el español te da "desde hace", que suena a since y significa for. Cambridge marca el resultado como incorrecto sin matices: se dice She's been on the phone for hours, nunca She's been on the phone since hours. Si detrás de la preposición hay una cantidad (tres años, dos semanas, horas), es for. Si hay una fecha, un día o una hora del reloj, es since.
Mal: I work here since three years. Bien: I've worked here for three years. Por qué: "tres años" es una cantidad de tiempo, no un punto de partida. Y como la situación sigue viva hoy, el verbo pide present perfect. Escena: entrevista en Dublín, la reclutadora pregunta how long have you been in the role?, y tu respuesta sale calcada del español justo en la primera frase que ella va a recordar.

Ago cuenta hacia atrás y cierra la puerta
Ago se coloca detrás de la expresión de tiempo, nunca delante. Cambridge lo deja por escrito con su propio contraejemplo: They arrived in Athens six weeks ago, no They arrived in Athens ago six weeks. El español coloca "hace" delante ("hace seis semanas") y esa costumbre es la que te traiciona.
Ago no convive con el present perfect. La regla de Cambridge es tajante: "normalmente usamos ago con el past simple. No lo usamos con el present perfect". Su ejemplo es exactamente el error que hacen los hispanohablantes: I received his letter four days ago, nunca I have received his letter four days ago. Ago sitúa el hecho en un pasado terminado, y un pasado terminado no admite un tiempo verbal que conecta con el presente.
Mal: I have arrived to Toronto two weeks ago. Bien: I arrived in Toronto two weeks ago. Por qué: ago cierra el momento en el pasado, así que el verbo va en past simple. Y arrive pide in con ciudades, no to. Escena: mostrador de una clínica en Toronto, la recepcionista te pregunta desde cuándo estás en el país, y contestas con un present perfect que le hace repetir la pregunta.
Ago y since no caben en la misma frase. Es el choque más silencioso de los tres, y Oxford lo señala como uso incorrecto directo: "no es correcto usar since en esta frase: It's not long ago since they met". Cuando lo que quieres decir es cuánto duró algo, la palabra tampoco es ago sino for.

El error que Cambridge tiene fichado: I'm here since 4 o'clock
Cuando usas since, el verbo casi nunca va en presente. Cambridge cataloga este caso concreto en su página de errores típicos: no se usa el presente simple ni el continuo delante de since cuando hablas de un momento concreto que llega hasta ahora. Se dice I've been here since 4 o'clock, nunca I'm here since 4 o'clock.
Since abre una línea que empieza en el pasado y llega viva hasta este segundo, y el inglés marca esa línea con el present perfect. Es la lógica de ago girada del revés. El presente simple describe solo el ahora, sin historia detrás, y por eso choca con since.
Mal: I'm waiting since two hours. Bien: I've been waiting for two hours. Por qué: aquí fallan las dos piezas a la vez. "Dos horas" es cantidad, así que toca for; y la espera empezó antes y continúa, así que toca present perfect. Escena: sala de espera de un taller mecánico en Phoenix, tu coche sigue en el elevador, y la frase con la que por fin te quejas contiene los dos errores seguidos.
Por qué el español te empuja justo hacia aquí
Tu lengua materna no interfiere por casualidad: mide el tiempo mucho más que el inglés. Javier Valenzuela y Daniel Alcaraz Carrión compararon corpus de ambos idiomas y encontraron que las expresiones de duración aparecen 1,56 veces por millón de palabras en inglés frente a 67,04 en español, unas cuarenta veces más. Su conclusión es directa: "las expresiones secuenciales … y las expresiones de duración … son mucho más frecuentes en español". Traes de casa el hábito de decir cuánto dura todo, y el inglés te obliga a elegir la pieza exacta cada vez.
Esa transferencia desde el español tiene nombre técnico. Terence Odlin, la referencia del campo, lo define así: "la influencia interlingüística es aproximadamente sinónima de otros términos, sobre todo transferencia lingüística e interferencia, en tanto que todos se refieren a la influencia de una lengua sobre otra". No fallas por descuido. Fallas porque en tu cabeza ya existe una estructura que funciona perfectamente en español.
Estos errores no se curan subiendo de nivel. En el corpus de universitarios españoles, el nivel MCER influyó menos de lo esperado en qué errores dominan: las preposiciones siguen ahí en B2 y en C1. Otro recuento las sitúa en el 29% de todos los errores de 53 estudiantes de nivel intermedio y avanzado. Martin Chodorow y Joel Tetreault, que construyeron detectores automáticos de estos fallos para ETS, lo resumen sin rodeos: "el uso de las preposiciones es uno de los aspectos más difíciles de la gramática inglesa para los hablantes no nativos".
Se arregla en bloques, no con reglas
La regla te da la respuesta correcta; la velocidad te la da la repetición. For three years, since 2019 y two weeks ago se guardan como piezas enteras, igual que guardas "buenos días" sin analizar nada. Cuando el bloque está automatizado, la elección deja de ser una decisión y pasa a ser un reflejo.

El hueco real está en el medio segundo de duda, no en la regla. ¿Puedes decir "I've worked here for three years" en voz alta ahora mismo, sin frenar para elegir entre for y since? Ese medio segundo es la distancia entre saber la regla y poder usarla, y es justo lo que entrena Tabla: partir la frase larga en piezas pequeñas y practicarlas hablando hasta que salgan enteras.
Empezaste en tu empresa en marzo de 2023 y sigues ahí. Un cliente te pregunta cuánto llevas. Di las dos versiones: con el punto de partida y con la duración.
Con el punto de partida: I've worked here since March 2023. Con la duración: I've worked here for over three years. Las dos van en present perfect porque la situación sigue abierta hoy. Si en cambio hubieras salido de esa empresa, la frase cambiaría a past simple con ago: I left that job two years ago.
La próxima vez que vayas a decir "hace" en inglés, para medio segundo y contesta la pregunta antes de elegir la palabra: ¿cantidad, punto o momento cerrado? Con tres o cuatro frases tuyas ya automatizadas, la duda desaparece del todo.
Hoy intenta esto: grábate treinta segundos contando cuánto llevas en tu trabajo, en tu ciudad y con tu teléfono actual, y escucha en qué preposición frenaste.