"Pupitrele sunt murdare de o săptămână."
Translation:The desks have been dirty for a week.
Very interesting question!
In Romanian de o săptămână hints that it is an action started in the past and continues in the present. We use sunt, but in English it turns into have been.
If we had pentru o săptămână instead, it would've meant the action started now and will continue in the future. We still use sunt in Romanian, but in English it would be more like your translation, or even The desks will be dirty for a week.
I hope this helped.