Done some more. Still likely broken.

Better multi language support, changing code to use string.Empty and not
a zero length string. Redundant code removed.