Ответ:

Перевод задания: Исправьте ошибки в предложениях (если они есть).

  1. She has known him for years. (Она знает его много лет.) Глагол know обычно не употребляется в длительной форме.
  2. They have been building this bridge since last year. (Они строят этот мост с прошлого года.) Предложение правильное: действие продолжается с прошлого года.
  3. I have been reading this book all day. (Я читаю эту книгу весь день.) Для длительного действия, происходящего в течение дня, подходит Present Perfect Continuous.
  4. He has finished his work. (Он закончил свою работу.) Finish обозначает завершённое действие; форма has been finished здесь неверна.
  5. We have been traveling around Europe for a month. (Мы путешествуем по Европе уже месяц.) Предложение правильное: длительное действие продолжается в течение месяца.
  6. The phone has been ringing for minutes. (Телефон звонит уже несколько минут.) Предложение правильное: действие продолжается.
  7. She has written five emails today. (Сегодня она написала пять электронных писем.) Указано количество завершённых действий, поэтому используется Present Perfect.
  8. They have been waiting for two hours. (Они ждут уже два часа.) С периодом времени употребляется for, а не since.
  9. I have been learning Spanish since 2021. (Я изучаю испанский с 2021 года.) Предложение правильное: since вводит начальный момент периода.
  10. He has broken his leg. (Он сломал ногу.) Для завершённого действия используется Present Perfect, а не конструкция has been broken.
  11. It has been snowing since this morning. (Снег идёт с сегодняшнего утра.) Предложение правильное; перед morning здесь естественно употребить this.
  12. We have seen this film before. (Мы уже видели этот фильм.) See обычно не используется в длительной форме; before указывает на опыт.