How to embed subtitles in video?

There are several Youtube video clips that I would like to translate from English into a different language, embed the subtitles and then reupload them to Youtube with the subtitles.

I figured out the first part, which is to find an online service that allows you to actually download the .flv file from Youtube, which can then be played from your hard drive and converted into other formats. (e.g. one such service is http://keepvid.com/)

But, once I get the video on my hard drive, what program(s) should I use in order to put the subtitles on the video? It is important that the subtitles be really embedded into the final video (permanently mixed with the original video), so that when I upload the file back to Youtube, these subtitles can be seen in the regular Youtube player. Also, if I decide to burn the file onto a DVD, any regular DVD player should be able to read the file as one entity (not as video + subtitle).

Can anyone advise on this please? Of course, freeware or cheap shareware is better than expensive programs.