Actually implement translate.

It's fragile, clumsy, and lacks features, but hey, it actually seems to work.