better client-side translation system