Fix bugs in translate_string

The code was written in such a way that there were ways around the
"every string gets a unicode character" rule. This fixes that.