Fixed Translator when multiple locale are loaded with dumped JS

When using "Load translations via dumped JavaScript files" functionality and multiple locale are loaded (with "js/i18n/messages/*.js" for example), all translations are crushed by the last locale (chinese in my case).

The problem is message catalog only store translation key => value, without locale distinction.

I added a locale key to store all locale in messages. It adds the ability to switch locale on-the-fly, and resolves the problem.