Changed so that translation can be changed on the fly.  Should make things more thread safe as well.
moved