Does anyone know if there is a program that can delay/correct subtitles so the text doesn't appear seconds after the speech?

I tried DirectVobSub that comes with Windows Media Player, and when I delay, it only delays for a couple of seconds, then I have to correct them again... And that's kind of boring

Help plz